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