我已经尝试过以下但是我得到了编译错误:
当前上下文中不存在名称“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" />
}
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;
}