2012-07-16 59 views
0

我有幾個強類型的局部視圖以列表格式顯示輸出。這裏是諧音之一:訪問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

回答

1

在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