我已经尝试过以下但是我得到了恭维错误:
名称' txtMakeModelTypeCode'在当前背景下不存在。
<label>Type Code</label>
<input type="text" id="txtMakeModelTypeCode" name="txtMakeModelTypeCode" />
<label>Make</label>
<input type="text" id="txtMake" name="txtMake"/>
<label>Model</label>
<input type="text" id="txtModel" name="txtModel"/>
<a href="@Url.Action("CreateMakeModel", "Vehicle", new { MakeModelTypeCode = txtMakeModelTypeCode, make = txtMake, model = txtModel })">Create</a>
我也尝试过使用表单,但我不想使用提交按钮。是否可以使用普通按钮?
@using (Html.BeginForm("CreateMakeModel", "Vehicle"))
{
<label>Type Code</label>
@Html.TextBox("txtMakeModelTypeCode")
<label>Make</label>
@Html.TextBox("txtMake")
<label>Model</label>
@Html.TextBox("txtModel")
<input type="submit" value="Create" />
}
答案 0 :(得分:2)
MVC与ASP.Net Webforms的工作方式不同。您创建的文本框在代码中不可用。您可以使用控件来渲染html,并通过模型完成数据处理。
所以使用TextBoxFor:
@using (Html.BeginForm("CreateMakeModel", "Vehicle"))
{
<label>Type Code</label>
@Html.TextBoxFor(m => m.MakeModelTypeCode)
<label>Make</label>
@Html.TextBoxFor(m => m.Make)
<label>Model</label>
@Html.TextBoxFor(m => m.Model)
<input type="submit" value="Create" />
}
然后在你的控制器中,在帖子之后,你应该在模型中有发布的数据:
public ActionResult Index(CreateMakeModel model) // or is it Vehicle?
{
// whatever you do here:
string code = model.MakeModelTypeCode;
}