Domanda

Sto usando la vista parziale con Ajax.beginform. In quella pagina di vista parziale, ho il seguente markupMODIFICARE

<%
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>

E nel controller, ho questo modello per la rappresentazione dei dati

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

MODIFICARE

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

Quando pubblico i dati, questi valori parametri e parametri non sono affatto vincolati all'elenco degli oggetti. Come faccio a fare questo. Sto usando Microsoft Ajax e voglio farlo senza usare altri pluviali. Si prega di suggerire il modo giusto.

MODIFICARE

Questi sono i dati nell'intestazione prelevati da Chrome

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
È stato utile?

Soluzione

Quello che ho capito che hai una struttura di dettaglio principale e vuoi riceverlo controller. se questo è il caso. Quindi ci sono due possibilità o la porzione di dettaglio ha una porzione di dettaglio a lunghezza variabile o una porzione di dettaglio a lunghezza fissa. Puoi seguire il post qui per lunghezza variabile e lunghezza fissa. Per una lunghezza fissa puoi anche seguire qui.

Riceverai il modello nella seguente firma

public ActionResult ManageDataSources(DataSourceViewModel dsvm)

Inoltre puoi anche controllare formcollection Parametro per ActionResult

       [HttpPost]
        public ActionResult MyAction(FormCollection collection)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top