Mag*_*age 3 asp.net asp.net-mvc asp.net-mvc-2
我目前有一个TextBox使用:
<%: Html.TextBox("TextBox1") %>
如何获取TextBox作为字符串输入的内容的值,以便我可以在整个应用程序中使用该字符串变量?
该视图让他跟随页面顶部的继承进行建模.此页面名为"InputNumbersSection":
<%: Html.TextBoxFor(m => m.Number) %>
Run Code Online (Sandbox Code Playgroud)
和行动:
<%: Html.ActionLink("Get Number!", "DisplayNumbersSection") %>
Run Code Online (Sandbox Code Playgroud)
模型有这个:
public class NumberModels
{
public string Number { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
控制器具有以下内容:
public ActionResult DisplayNumbersSection(NumberModels model)
{
if (ModelState.IsValid)
{
string TextBoxValue = model.Number;
ViewData["Number"] = TextBoxValue;
}
return View();
}
Run Code Online (Sandbox Code Playgroud)
我在另一个页面中使用的ViewData返回视图中键入的文本框中的数字.
当我在文本框中键入somthing时,我看不到该属性被击中或执行."Number"属性始终返回NULL.它似乎似乎没有把我在TextBox中键入的内容拿起来
那么开始你应该有一个你的观点的模型:
public class YourModel
{
public string YourProperty { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
您的控制器将创建初始视图:
public ActionResult YourEvent()
{
return View(new YourModel());
}
Run Code Online (Sandbox Code Playgroud)
要创建强类型视图,您需要将以下内容添加到Page指令:
<%@ Page Title="" Inherits="System.Web.Mvc.ViewPage<YourModel>" %>
Run Code Online (Sandbox Code Playgroud)
然后在您的视图中,您可以:
<%: Html.TextBoxFor(m => m.YourProperty) %>
Run Code Online (Sandbox Code Playgroud)
然后在发布表单时在控制器中:
[HttpPost]
public ActionResult YourEvent(YourModel model)
{
if (ModelState.IsValid)
{
string TextBoxValue = model.YourProperty;
// do what you want with it
}
// do something
}
Run Code Online (Sandbox Code Playgroud)
一个坚固的类型视图是最好的方法,但如果你想快速和肮脏,你可以随时访问该Request对象并检查Form.
编辑:添加强类型视图定义.
| 归档时间: |
|
| 查看次数: |
3905 次 |
| 最近记录: |