访问Master中的部分视图元素ID和名称

问题描述:

我有几个强类型的局部视图以列表格式显示输出。这里是谐音之一:访问Master中的部分视图元素ID和名称

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<Student.Models.vwStudent>>" %> 

<table> 
     <tr> 
      <th> 
       Student ID 
      </th>   
      <th> 
       Past Due Amount 
      </th> 
      <th> 
       Past Due Days 
      </th>    
     </tr> 

     <% if (Model != null) 
      foreach (var item in Model) { %> 

     <tr> 
      <td> 
       <%=Html.TextBox("StudentID",item.StudentID) %> 
      </td> 

      <td> 
       <%=Html.TextBox("PastDueAmount",item.PastDueAmount) %> 
      </td> 
      <td> 
       <%=Html.TextBox("PastDueDays",item.PastDueDays) %> 
      </td>    
     </tr> 

    <% } %> 

    </table> 

这里是我如何访问上面的部分在主:

<% using(Html.BeginForm("SaveStudentInvoice", "StudentInvoice")) %> 
<% { %> 
<% Html.RenderPartial("DisplayStudentInvoiceList"); %> 
<input type="button" id="Submit" name="Submit" value="Submit" /> 
<% } %> 

现在,我有主了“保存”按钮,当我点击要救学生证,过期到期金额和过期到期天数。如何访问主视图中的局部视图元素ID和名称以进行插入?

在此先感谢。

+0

我想你应该在你的偏好里面有保存按钮,但是你可以使用JavaScript。没有检查过,但它应该像'document.forms [0] .submit();',除非你有更多的表单。比改变索引。 – Silvermind 2012-07-16 21:51:12

在ASP.NET MVC Views/MasterPages中没有插入。他们显示数据。它是插入的控制器操作。您显示的部分视图示例仅显示学生数据详细信息作为标签。如果您想将它们发送回服务器(用于插入),则应使用HTML <form><% using (Html.BeginForm("someAction", "someController")) { %>)和输入字段(Html.EditorFor帮助程序)而不是简单标签。

+0

是的,我明白这一点。我有控制器操作和JS(Ajax)。我不明白的是,我如何访问/传递StudentIds和其他细节从partials到Controller的操作? partials上的这些字段没有Ids,另外,partials是强类型的,输出的行数也不固定。 – user793468 2012-07-16 21:57:21

+0

部分应该不需要访问其父视图信息。如果是这样,这意味着你在分离你的观点和部分观点方面做了错误的事情。 – 2012-07-16 21:58:33

+0

其父母试图访问部分,保存从部分信息的按钮是在主(父母)视图。我应该如何处理这个问题? – user793468 2012-07-16 22:02:31