当前位置:编程学习 > C#/ASP.NET >>

MVC。后台取值的问题

视图层:
名称:<input type="text" id="ip_name" style="width: 100px" runat="server" name="ip_name"  />
 <input type="submit" value="搜索" />


控制层方法:

    public ActionResult Index(tb_Movie model)
        {
           
            if (Request.Form["ip_name"] == null)
            {
                var model1 = from m in imdb.tb_Movie select m;
                return View(model1);
            }
            else
            {
                var item = from m in imdb.tb_Movie
                           where m.Name_CN =="2"
                           select m;
                return View(item);

            }
        }

我的意思很简单。。根据控件里面的值进行查询。。实体没空,就查询所有。问题是现在拿不到控件的值。。
我知道Request.Form["ip_name"] 是需要提交表单嘚。这写法肯定错 。。。急求办法。。怎么拿到控件的值
直接上代码。谢谢!! --------------------编程问答-------------------- form 表单提交 ,检查一下 form 的 提交方式,是 post  还是get --------------------编程问答--------------------
引用 1 楼 claymore1114 的回复:
form 表单提交 ,检查一下 form 的 提交方式,是 post 还是get


当然是post . 但是这个提交是没意义的。。不需要提交的。。就是个首页查询而已! --------------------编程问答-------------------- public ActionResult Index(string ip_name)
  {

........
}
试试 --------------------编程问答--------------------
引用楼主 paul_198728 的回复:
我知道Request.Form["ip_name"] 是需要提交表单嘚。这写法肯定错 。。。


这样写就是对的。 --------------------编程问答-------------------- 如果不提交,数据怎么传到服务器上,之后服务器解释呢? 就是ajax也要提交啊. --------------------编程问答--------------------
引用 3 楼 chen_ya_ping 的回复:
public ActionResult Index(string ip_name)
  {

........
}
试试


试了,不行! --------------------编程问答-------------------- <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    <% using (Html.BeginForm())
       {%>
    <%: Html.ValidationSummary(true) %>
    <img src="../../images/search_pic.gif" />
    名称:<input type="text" id="ip_name" style="width: 100px" runat="server" name="ip_name"  />
    年代:<input type="text" id="ip_year" style="width: 50px" runat="server" />
    存放位置:<input type="text" id="ip_Path_Save" style="width: 120px" runat="server" />
    类型:<input type="checkbox" />3d
    <input type="checkbox" />动画
    <input type="checkbox" />港版
    <input type="checkbox" />记录
    <input type="checkbox" />纪录
    <input type="checkbox" />风光
    <%--<%: Html.ActionLink("搜索", "Index")%>--%>
    <input type="submit" value="搜索" />

我不是写了from吗 --------------------编程问答--------------------
引用 4 楼 karascanvas 的回复:
引用楼主 paul_198728 的回复:
我知道Request.Form["ip_name"] 是需要提交表单嘚。这写法肯定错 。。。


这样写就是对的。


我也赞同逻辑上没错! --------------------编程问答-------------------- 你看看生成的html源代码,确实是以post方式提交吗? --------------------编程问答--------------------
引用楼主 paul_198728 的回复:
视图层:
名称:<input type="text" id="ip_name" style="width: 100px" runat="server" name="ip_name" />
 <input type="submit" value="搜索" />


控制层方法:

  public ActionResult Index(tb_Movie model)
  {
   ……


public ActionResult Index(tb_Movie model)
lz搞MVC开发就从来没有想过这个参数干什么使的? --------------------编程问答--------------------
引用 9 楼 karascanvas 的回复:
你看看生成的html源代码,确实是以post方式提交吗?


<body>
    <form method="post" action="./" id="form1">

是的,没错 --------------------编程问答--------------------
引用 10 楼 caozhy 的回复:
引用楼主 paul_198728 的回复:
视图层:
名称:<input type="text" id="ip_name" style="width: 100px" runat="server" name="ip_name" />
<input type="submit" value="搜索" />


控制层方法:

public ActionResult Index(tb_Mo……



你想表达什么 --------------------编程问答--------------------
引用 2 楼 paul_198728 的回复:
引用 1 楼 claymore1114 的回复:
form 表单提交 ,检查一下 form 的 提交方式,是 post 还是get


当然是post . 但是这个提交是没意义的。。不需要提交的。。就是个首页查询而已!

你到底 提交了没?点击了 搜索 按钮没? --------------------编程问答--------------------
引用 13 楼 claymore1114 的回复:
引用 2 楼 paul_198728 的回复:
引用 1 楼 claymore1114 的回复:
form 表单提交 ,检查一下 form 的 提交方式,是 post 还是get


当然是post . 但是这个提交是没意义的。。不需要提交的。。就是个首页查询而已!

你到底 提交了没?点击了 搜索 按钮没?


当然点了! --------------------编程问答--------------------
引用 10 楼 caozhy 的回复:
引用楼主 paul_198728 的回复:
视图层:
名称:<input type="text" id="ip_name" style="width: 100px" runat="server" name="ip_name" />
<input type="submit" value="搜索" />


控制层方法:

public ActionResult Index(tb_Mo……


求指教! --------------------编程问答-------------------- 大家顶下啊。。谢谢了 --------------------编程问答--------------------
public ActionResult Index(FormCollection form)
{
看看form中的值
}
--------------------编程问答-------------------- 你可以把你的那个生成的Html代码给大家看看。 --------------------编程问答-------------------- 你直接Request["ip_name"]
看看是否取到了值,如果这里取到了值,那么就是sql语句的问题了
调试一下吧 --------------------编程问答--------------------
引用 19 楼 qiudong_5210 的回复:
你直接Request["ip_name"]
看看是否取到了值,如果这里取到了值,那么就是sql语句的问题了
调试一下吧


这个值始终为null --------------------编程问答-------------------- 去掉文本框 runat=server 试试 --------------------编程问答-------------------- 跟asp差不多。 --------------------编程问答--------------------
引用 21 楼 qiudong_5210 的回复:
去掉文本框 runat=server 试试



OK,解决了!!! --------------------编程问答-------------------- 感谢大家! --------------------编程问答--------------------
控制器

[HttpPost]
        public ActionResult Add(string S1, string liuyanren)
        {
            ManagerInfo m = new ManagerInfo();
            m.Manager = S1 ;
            m.Name = liuyanren ;//获取的是客户端控件的NAME
            m.Updatetime = DateTime.Now;
            new ManagerSrevice().GetAddManager(m);
           return   RedirectToAction("Index");
        }

路由
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                "Default", // 路由名称
                "{controller}/{action}/{id}", // 带有参数的 URL
                new { controller = "Manager", action = "Index", id = UrlParameter.Optional } // 参数默认值
            );

        }

视图

<h2>添加留言</h2>
    <form action="Manager/Add" method="post">
    留言内容:<br />
    <textarea id="taliu" name="S1" style="height: 57px; width: 234px"></textarea>
    <br />
    留言人:<input id="txtname" type="text" name="liuyanren" /><br />
    <input id="Button1" type="submit" value="添加留言" />


3个配合使用 --------------------编程问答-------------------- 对不起。。没用到路由 呵呵 多写了一个 --------------------编程问答--------------------
引用 26 楼 id270 的回复:
对不起。。没用到路由 呵呵 多写了一个


大哥。你这是添加。。我的是查询!
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,