2016-06-21 54 views
-1

我有四个不同的表格需要连接到一个表单,所以当我提交表单时,所有四个表格都检索数据。我可以连接四个不同的控制器(每个表一个)到一个表单吗?我可以将四个不同的控制器连接到一个表单吗?

+2

没有,你的形式提交到一个URL,通过一个动作一个控制器,在处理这可能会通过数据库连接与多个表进行交互。我认为你需要访问教程网站以更好地理解这一点。 http://www.asp.net/mvc – Jasen

+0

我怀疑你需要查看MVC模式。 –

回答

1

不,您的表单只能连接到一个控制器操作。但是,一旦您执行了该操作,就可以将您的信息插入到您需要的任何表格中。

在以下示例中,表单将连接到驻留在家庭控制器中的“Home”控制器和“Create”操作。

@using (Html.BeginForm("Create", "Home", FormMethod.Post)) 
{ 

    <div class="editor-label"> 
     @Html.LabelFor(model => model.Content) 
    </div> 
    <div class="editor-field"> 
     @Html.TextAreaFor(model => model.Content, new { @cols = 60, @rows = 20 }) 
     @Html.ValidationMessageFor(model => model.Content) 
    </div> 

    <p> 
     <input type="submit" value="Save" /> 
    </p> 
} 

你的“创建”作用,这是你的“家”控制器的内部应该是这样的:

[HttpPost] 
public ActionResult Create(PostViewModel model) 
{ 
    if (ModelState.IsValid) 
    { 

     //Do all your database/table inserts here. 
     //OR connect to your Data Access Layer (DAL) 
     //and have it do the inserts. 

    } 
    return View(model); 
} 
+0

逆向更好:if(!ModelSate.IsValid)返回View(Model);这会减少嵌套 –

相关问题