2012-01-13 11 views
0

私はajax.beginformで部分ビューを使用しています。その部分的なビューページでは、私は、次のマークアップ EDIT部分ビューとMicrosoft ajaxをASP.Net 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> 

及びコントローラで、iは

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"); 
     } 

私がこれらのパラメータ名とパラメータ値を送信するとオブジェクトのリストにバインドされていません。どのように私はこれを行うのですか?私は、マイクロソフトのajaxを使用しており、他のプラグインを使用せずにこれを実行したい。親切に正しい方法を提案してください。

EDIT

これは、私はあなたがマスター・ディテール構造を持っていて、それがコントローラ受信したい理解してどのようなクロム

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

ためformcollectionパラメータをチェックしているフォームはあなたのコードであり、どこで、あなたのコントローラのコード – Tassadaque

+0

@Tassadaqueは以下のとおりです。このマークアップが十分であったと思っています。私はコードを更新しました。 – Saravanan

+0

@Tassadaque:コントローラのpublic ActionResult ManageDataSources(string DataSource_Id、string DataSource_Name、string [] parametername、string [] parametervalue)でこのシグネチャを使用して値を取得できました。しかし、それらを辞書やオブジェクトのリストに入れようとしています – Saravanan

答えて

1

から取られたヘッダ内のデータです。そうであれば。ディテール部分には可変長のディテール部分または固定長のディテール部分の2つの可能性があります。可変長および固定長については、ポストhereに従うことができます。固定長の場合は、hereに従うこともできます。

あなたが署名

public ActionResult ManageDataSources(DataSourceViewModel dsvm) 

次のモデルを受け取ることになります。また、あなたものActionResult

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

あなたの返事をありがとう。なぜ、キューは常に空であるのですか?2. HtmlFieldPrefixScopeの目的は何ですか、私はそれがいくつかの 'MVC'テンプレートを参照していることを知りましたが、あなたは私にこれらの点を説明することができますか?私がMVC2を初めて使ったので、これらのテクニックを学びたいと思っています。 – Saravanan

関連する問題