2
我从URL传递一个ID进入我的控制器操作的一些问题ASP.NET MVC和通过ID,以强类型BeginForm
可以说我有这个网址:Bing /索引/ 4
在我母版页我想生成提交给BingController SearchAction的表单。我的确从URL像这样
(本例中4)如何获得ID将它传递给搜索行动?
感谢您的帮助
我从URL传递一个ID进入我的控制器操作的一些问题ASP.NET MVC和通过ID,以强类型BeginForm
可以说我有这个网址:Bing /索引/ 4
在我母版页我想生成提交给BingController SearchAction的表单。我的确从URL像这样
(本例中4)如何获得ID将它传递给搜索行动?
感谢您的帮助
要访问母版页中的数据,你的控制器需要那么母版页访问它,将其添加到的ViewData。
public ActionResults Index(string id)
{
ViewData["SearchID"] = id;
return View();
}
然后在你的母版页,您可以访问它的ViewData的
using (Html.BeginForm("Search", "Bing", { id = ViewData["SearchID"] })
对于一个强类型的视图,我有了性能BaseModel类母版页需要和我所有的其他模型继承基类。事情是这样的......
public class BaseModel
{
prop string SearchID {get;set;}
}
public class HomeIndexModel : BaseModel
{
}
public ActionResults Index(string id)
{
HomeIndexModel model = new HomeIndexModel();
model.SearchID = id;
return View(model);
}
你的母版页是这样的:
<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage<BaseModel>" %>
<% using(Html.BeginForm<BingController>(action => action.Search(Model.SearchID))) { %>
谢谢,它的工作原理就像一个魅力。这只是对于MasterPage或普通页面而言是否有价值? – 2010-02-03 14:40:58
它将适用于每个页面以及部分视图。 – 2010-02-03 14:43:02
是的,事实上,我想知道是否需要这样做也与页面或部分视图。当它在页面中使用时,似乎asp会将ID自动绑定到action参数。 – 2010-02-03 14:49:12