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 --------------------编程问答--------------------
当然是post . 但是这个提交是没意义的。。不需要提交的。。就是个首页查询而已! --------------------编程问答-------------------- public ActionResult Index(string ip_name)
{
........
}
试试 --------------------编程问答--------------------
这样写就是对的。 --------------------编程问答-------------------- 如果不提交,数据怎么传到服务器上,之后服务器解释呢? 就是ajax也要提交啊. --------------------编程问答--------------------
试了,不行! --------------------编程问答-------------------- <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吗 --------------------编程问答--------------------
我也赞同逻辑上没错! --------------------编程问答-------------------- 你看看生成的html源代码,确实是以post方式提交吗? --------------------编程问答--------------------
public ActionResult Index(tb_Movie model)
lz搞MVC开发就从来没有想过这个参数干什么使的? --------------------编程问答--------------------
<body>
<form method="post" action="./" id="form1">
是的,没错 --------------------编程问答--------------------
你想表达什么 --------------------编程问答--------------------
你到底 提交了没?点击了 搜索 按钮没? --------------------编程问答--------------------
当然点了! --------------------编程问答--------------------
求指教! --------------------编程问答-------------------- 大家顶下啊。。谢谢了 --------------------编程问答--------------------
public ActionResult Index(FormCollection form)
{
看看form中的值
}
--------------------编程问答-------------------- 你可以把你的那个生成的Html代码给大家看看。 --------------------编程问答-------------------- 你直接Request["ip_name"]
看看是否取到了值,如果这里取到了值,那么就是sql语句的问题了
调试一下吧 --------------------编程问答--------------------
这个值始终为null --------------------编程问答-------------------- 去掉文本框 runat=server 试试 --------------------编程问答-------------------- 跟asp差不多。 --------------------编程问答--------------------
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个配合使用 --------------------编程问答-------------------- 对不起。。没用到路由 呵呵 多写了一个 --------------------编程问答--------------------
大哥。你这是添加。。我的是查询!
补充:.NET技术 , ASP.NET