我目前有一个 TextBox
使用:<%: Html.TextBox("TextBox1") %>
如何获取输入到 TextBox
中的内容的值作为字符串,以便我可以在整个应用程序中使用该字符串变量?
该 View 遵循页面顶部的继承进行建模。此页面名为“InputNumbersSection”:
<%: Html.TextBoxFor(m => m.Number) %>
和行动:
<%: Html.ActionLink("Get Number!", "DisplayNumbersSection") %>
模型有这个:
public class NumberModels
{
public string Number { get; set; }
}
Controller 具有以下功能:
public ActionResult DisplayNumbersSection(NumberModels model)
{
if (ModelState.IsValid)
{
string TextBoxValue = model.Number;
ViewData["Number"] = TextBoxValue;
}
return View();
}
我在另一个页面中使用的 ViewData 从 View 中键入的文本框中返回数字。
当我在文本框中输入一些东西时,我没有看到该属性被命中或执行。 “Number”属性始终返回 NULL。似乎它没有接收我在 TextBox 中输入的内容
最佳答案
首先,您应该有一个 View 模型:
public class YourModel
{
public string YourProperty { get; set; }
}
您将创建初始 View 的 Controller :
public ActionResult YourEvent()
{
return View(new YourModel());
}
要创建强类型 View ,您需要将以下内容添加到
Page
指示:<%@ Page Title="" Inherits="System.Web.Mvc.ViewPage<YourModel>" %>
然后在您看来,您可以执行以下操作:
<%: Html.TextBoxFor(m => m.YourProperty) %>
然后在您发布表单时在您的 Controller 中:
[HttpPost]
public ActionResult YourEvent(YourModel model)
{
if (ModelState.IsValid)
{
string TextBoxValue = model.YourProperty;
// do what you want with it
}
// do something
}
强类型 View 是最好的方法,但如果你想快速而肮脏地完成它,你可以随时访问
Request
对象并检查 Form
.编辑:添加了强类型 View 定义。
关于asp.net - 如何在 ASP.NET MVC 2 中获取 html.textbox 输入的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3225762/