2012-01-13 29 views
0

我在ajax.beginform中使用了部分視圖。在這種局部視圖頁面,我有以下標記 EDIT在ASP.Net中使用部分視圖和microsoft ajax過帳集合MVC2

<% 
using (Ajax.BeginForm("ManageDataSources", "DataSources", saveAjaxOptions)) 
{ 
%>.... 
<td> 
       <%: Html.Hidden("DataSource_Id", dataSource.Id, new { @class = "DataSource_Id" })%> 
       <%: Html.TextBox("DataSource_Name", dataSource.Name, new { @class = "DataSource_Name" })%> 
      </td> 
<tr class="queryParameters" style="display: block"> 

     <td colspan="2" align="center"> 

      <input id="Text1" name="parametername" type="text" /> 

      <input id="Text2" name="parametervalue" type="text" /> 

      <input id="Text3" name="parametername" type="text" /> 

      <input id="Text4" name="parametervalue" type="text" /> 

      <input id="Text5" name="parametername" type="text" /> 

      <input id="Text6" name="parametervalue" type="text" /> 

      <input id="Text7" name="parametername" type="text" /> 

      <input id="Text8" name="parametervalue" type="text" /> 

      <input id="Text9" name="parametername" type="text" /> 

      <input id="Text10" name="parametervalue" type="text" /> 

     </td> 

    </tr> 

,並在控制器中,我有這個模型中的數據的表示

public class DataSourceViewModel 
{ 
    public string DataSource_Id { get; set; } 
    public string DataSource_Name { get; set; } 
    public List<SCParams> parameters { get; set; } 
} 

public class SCParams 
{ 
    public string parametername { get; set; } 
    public string parametervalue { get; set; } 
} 

EDIT

public ActionResult ManageDataSources(DataSourceViewModel dsvm) 
     { 
      return PartialView("ManageDataSources"); 
     } 

當我發佈數據這些parametername和參數值s完全不受限於對象列表。我該怎麼做呢。我正在使用微軟AJAX,並希望這樣做,而不使用其他插件。請建議正確的方法。

編輯

這是鉻

DataSource_Id: 
DataSource_Name:Name 
parametername:a 
parametervalue:1 
parametername:q 
parametervalue:2 
parametername:z 
parametervalue:3 
parametername:s 
parametervalue:4 
parametername:w 
parametervalue:5 
x:15 
y:12 
+0

哪裏是形式的代碼,並在那裏爲你的控制器代碼 – Tassadaque 2012-01-13 13:11:59

+0

@Tassadaque:認爲這個標記是足夠的,反正..我已經更新了代碼。 – Saravanan 2012-01-13 13:14:51

+0

@Tassadaque:我可以在控制器'public ActionResult ManageDataSources(string DataSource_Id,string DataSource_Name,string [] parametername,string [] parametervalue)''上使用這個簽名來獲取值。但試圖讓他們在字典或對象列表 – Saravanan 2012-01-13 13:27:23

回答

1

採取頭中的數據我明白你有主從結構,你要接受它的控制器。如果是這樣的話。那麼有兩種可能性:你的細節部分具有可變長度細節部分或固定長度細節部分。您可以按照here後的可變長度以及固定長度進行操作。對於固定長度,您也可以按照here

您將收到該模型下面的簽名

public ActionResult ManageDataSources(DataSourceViewModel dsvm) 

而且還可以檢查formcollection參數的ActionResult

 [HttpPost] 
     public ActionResult MyAction(FormCollection collection) 
+0

感謝您的回覆。你能澄清我以下的疑惑,1.爲什麼隊列總是空的,2. HtmlFieldPrefixScope的目的是什麼,我知道它指的是一些'MVC'模板,但你能解釋我這些點或指出一個地方,我可以找到更多的細節,我是MVC2的新手,所以我想學習這些技巧。 – Saravanan 2012-01-14 05:50:34

相關問題