6
如何檢索asp.net mvc中的文本框的值以將值存儲到某個變量?從提交的asp.net mvc文本框獲取價值點擊
我在索引視圖頁上有一個像這樣的文本框<%=Html.TextBox("testbox") %>
。
我有這樣<input type="submit" />
一個按鈕,我使用的是當你打開一個新的MVC應用程序,它自帶的默認視圖頁面。
謝謝。
如何檢索asp.net mvc中的文本框的值以將值存儲到某個變量?從提交的asp.net mvc文本框獲取價值點擊
我在索引視圖頁上有一個像這樣的文本框<%=Html.TextBox("testbox") %>
。
我有這樣<input type="submit" />
一個按鈕,我使用的是當你打開一個新的MVC應用程序,它自帶的默認視圖頁面。
謝謝。
在您的控制器中;
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Search(FormCollection collection)
{
String g = collection["textFieldname"]
}
或者你可以使用;
TryUpdateModel(modelName);
以上是首選解決方案。如果您需要更多有關TryUpdateModel的信息,請發表評論,我會爲您補充。
編輯:
而不是解釋它讓我簡單地告訴你;
在你的控制器:
public class MyFormViewModel
{
public string myInput {get; set;}
}
public ActionResult Search()
{
MyFormViewModel fvm = new MyFormViewModel();
return View(fvm);
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Search(FormCollection collection)
{
MyFormViewModel fvm = new MyFormViewModel();
TryUpdateModel<MyFormViewModel>(fvm);
string userInput = fvm.myInput;
}
在視圖
然後;
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<YOURNAMESPACE.Controllers.MyFormViewModel>" %>
<%= Html.TextBox("myInput", Model.myInput) %>
注意兩件事。
頁面繼承自您在控制器中定義的模型/類。不是最好的地方,但它會做的一個例子。
另一件事是文本框的名稱與模型中的屬性相同。在這種情況下myInput。
當控制器執行UpdateModel時,它會反射出來,並將文本框名稱與表單視圖模型中字段的名稱進行匹配。
有意義嗎?
EDIT 2
而且不要忘了包裹在按鈕和你的領域;
<% using (Html.BeginForm()) {%>
嗨,感謝您的答覆......別告訴我tryupdatemodel(MODELNAME)如何與視圖上的文本框任何關係...謝謝 – Josh 2009-08-31 02:35:17
通過它看上去....我的理解.. .. 但這裏... <%= Html.TextBox(「myInput」,Model.myInput)%>,Model.myInput會自動映射到myFormViewModel.myinput?我認爲這就是你指出的,它通過獲得相關的類名來自動使用反射來解決......稍微旋轉頭,因爲你在視圖上稱它爲「Model.MyInput」......但我想我可能會寫代碼它會工作。 – Josh 2009-08-31 02:55:29
我的意思是,它將如何知道哪個模型......以及哪裏...那正是我想要的 – Josh 2009-08-31 02:57:50