两种简单的方法,即创建一个新包"创建"被称为编辑包"编辑"方法被调用。此方法调用" GetPackDetail"获取包相关信息。编辑方法获取包信息并将其分配给模型并打开"编辑"页。
在编辑视图页面中,我试图将整个模型传递给"创建"区域控制器的方法。它工作正常,我在"编辑视图"中获得该方法的所有信息。页面在编辑模式下打开。但我在" Name"当用户通过调用pack controller中的Create方法单击以创建新包时,然后输入pack的名称,然后单击actionlink将该模型传递给区域控制器。似乎对模型所做的更改没有反映出来。
Pack Controller Snippet
public ActionResult Create()
{
iSPYPack model = new iSPYPack();
return View("Edit", model);
}
public ActionResult Edit(int Id)
{
var model = GetPackDetail(Id);
return View("Edit", model);
}
修改视图
@model iSPYCMS.Models.iSPYPack
@using (Html.BeginForm())
{
@Html.LabelFor(x => x.Name)
@Html.TextBoxFor(x => x.Name)
}
@Html.ActionLink("Create Area","Create","Area", Model, new { @class="btn btn-success"})
iSPYPack模型
public class iSPYPack
{
public int Id { get; set; }
[Required(ErrorMessage = "Pack Name is required")]
[Display(Name = "Pack Name")]
public string Name { get; set;
}
区域控制器
public ActionResult Create(iSPYPack Model)
{
var ispypackMode = Model;
iSPYArea model = new iSPYArea();
return View("Create", model);
}
答案 0 :(得分:0)
将表单发布到下面的代码。请更换控制器名称。而不是动作链接,你会注意到我使用了元素。但是为你保留你的引导课程。只是让你知道,你结合了两种发布方式。您应该使用一种或另一种方法。如果您需要进一步的帮助,请告诉我
@model iSPYCMS.Models.iSPYPack
@using (Html.BeginForm("Create", "ControllerNameOfCreateMethod", FormMethod.Post))
{
@Html.LabelFor(x => x.Name)
@Html.TextBoxFor(x => x.Name)
<input type="submit" value="Create New Pack" class="btn btn-success"/>
}
但是,如果您的要求需要操作链接,那么这将有所帮助。
@Html.ActionLink("Create New Pack", "Create", "ControllerOfCreateMethod", new { area = "Admin", Name = Model.Name }, new { htmlAttributes = new { @class = "btn btn-success" } })