Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过jquery检索repeateritem_C#_Jquery_Ajax - Fatal编程技术网

C# 通过jquery检索repeateritem

C# 通过jquery检索repeateritem,c#,jquery,ajax,C#,Jquery,Ajax,我想通过jquery将repeateritem检索到codebehind上的saveorder函数 这是我的jquery代码: function saveOrder(controlid) { var id = controlid.name.replace("$btnSave", ""); console.log(id) $.ajax({ type: "POST",

我想通过jquery将repeateritem检索到codebehind上的saveorder函数

这是我的jquery代码:

 function saveOrder(controlid) {
        var id = controlid.name.replace("$btnSave", "");
        console.log(id)
        $.ajax({
            type: "POST",
            url: '/mobile/Default.aspx/saveOrder',
            data: '{par:"' + id + '"}',
            contentType: "application/json; charset=utf-8",
            success: function (data) {
                console.log(data.d);
            },
            failure: function (response) {
                console.log(response.d);
                alert(response.d);
            }
        });
    }
这是我的代码隐藏代码:

 [WebMethod]
public static void saveOrder(string par)
{
    mobile_Menu m = new mobile_Menu();

    RepeaterItem row =  (RepeaterItem)m.FindControl(par);

    RadioButtonList rdblExtraSauce = (RadioButtonList)row.FindControl("rdblExtraSauce");
    CheckBoxList chkExtras = (CheckBoxList)row.FindControl("chkExtras");
    CheckBoxList chklExtraDrink = (CheckBoxList)row.FindControl("chklExtraDrink");
    RadioButtonList rdblExtraOption = (RadioButtonList)row.FindControl("rdblExtraOption");
    RadioButtonList rdblSauce = (RadioButtonList)row.FindControl("rdblSauce");
    CheckBoxList chkGarnish = (CheckBoxList)row.FindControl("chkGarnish");
    List<ListItem> emptyList = new List<ListItem>();
    HiddenField hfProductId = (HiddenField)row.FindControl("hfProductId");
    string rdlPriceId = ((RadioButtonList)row.FindControl("rdblSize")).SelectedValue.Split(',')[0];
    HiddenField hfMainProductId = (HiddenField)row.FindControl("hfMainProductId");


    //Get previous values
    if (m.Session["Cart"] != null)
    {
        m.values = (List<Order>)m.Session["Cart"];
    }

    if (chklExtraDrink.Items.Count > 0)
    {
        foreach (ListItem item in chklExtraDrink.Items)
            if (item.Selected) m.values.Add(new Order(item.Value.Split(',')[0], item.Value.Split(',')[1], emptyList, 1));
    }

    if (rdblExtraSauce.Items.Count > 0)
    {
        if (rdblExtraSauce.SelectedValue != "Geen saus")
        {
            m.values.Add(new Order(rdblExtraSauce.SelectedValue.Split(',')[0], rdblExtraSauce.SelectedValue.Split(',')[1], emptyList, 1));
        }
    }


    switch (Convert.ToInt32(hfMainProductId.Value))
    {
        case 16:
            m.values.Add(new Order(hfProductId.Value, rdlPriceId, m.addMultiChoice(chkGarnish), 1));
            break;
        case 17:
            //values.Add(new Order(hfProductId.Value, rdlPrice, rdblSauce.SelectedItem, addMultiChoice(chkExtras), 1)); ;
            m.values.Add(new Order(hfProductId.Value, rdlPriceId, rdblSauce.SelectedItem, m.addMultiChoice(chkExtras), 1, rdblExtraOption.SelectedItem));
            break;
        case 19:
            m.values.Add(new Order(hfProductId.Value, rdlPriceId, rdblSauce.SelectedItem, m.addMultiChoice(chkExtras), 1));
            break;
        case 20:
            m.values.Add(new Order(hfProductId.Value, rdlPriceId, rdblSauce.SelectedItem, m.addMultiChoice(chkExtras), 1)); ;
            break;
        case 21:
            m.values.Add(new Order(hfProductId.Value, rdlPriceId, rdblSauce.SelectedItem, 1));
            break;
        case 22:
            m.values.Add(new Order(hfProductId.Value, rdlPriceId, rdblSauce.SelectedItem, m.addMultiChoice(chkExtras), 1));
            break;
        default:
            m.values.Add(new Order(hfProductId.Value, rdlPriceId, m.addMultiChoice(chkGarnish), 1));
            break;
    }


    //Save updated list
    m.Session["Cart"] = m.values;

    if (m.Session["Cart"] != null)
    {
        m.btnOrder.Text = "Winkelmandje (€ " + Global.CalcTotPrice(m.values) + ")";

    }

}
[WebMethod]
公共静态无效保存顺序(字符串par)
{
移动菜单m=新移动菜单();
RepeaterItem行=(RepeaterItem)m.FindControl(par);
RadioButtonList rdblExtraSauce=(RadioButtonList)row.FindControl(“rdblExtraSauce”);
CheckBoxList chkExtras=(CheckBoxList)row.FindControl(“chkExtras”);
CheckBoxList chklExtraDrink=(CheckBoxList)row.FindControl(“chklExtraDrink”);
RadioButtonList rdblExtraOption=(RadioButtonList)row.FindControl(“rdblExtraOption”);
RadioButtonList rdblSauce=(RadioButtonList)row.FindControl(“rdblSauce”);
CheckBoxList chkGarnish=(CheckBoxList)row.FindControl(“chkGarnish”);
List emptyList=新列表();
HiddenField hfProductId=(HiddenField)row.FindControl(“hfProductId”);
字符串rdlPriceId=((RadioButtonList)row.FindControl(“rdblSize”)).SelectedValue.Split(',')[0];
HiddenField hfMainProductId=(HiddenField)row.FindControl(“hfMainProductId”);
//获取以前的值
如果(m.Session[“购物车”!=null)
{
m、 值=(列表)m.Session[“Cart”];
}
如果(chklExtraDrink.Items.Count>0)
{
foreach(chklExtraDrink.Items中的列表项)
如果(item.Selected)m.values.Add(新订单(item.Value.Split(',')[0],item.Value.Split(',')[1],emptyList,1));
}
如果(rdblExtraSauce.Items.Count>0)
{
如果(rdblExtraSauce.SelectedValue!=“Geen saus”)
{
m、 添加(新顺序(rdblExtraSauce.SelectedValue.Split(',')[0],rdblExtraSauce.SelectedValue.Split(',')[1],emptyList,1));
}
}
开关(转换为32(hfMainProductId.Value))
{
案例16:
m、 Add(新订单(hfProductId.Value,rdlPriceId,m.addMultiChoice(chkGarnish),1));
打破
案例17:
//Add(新订单(hfProductId.Value、rdlPrice、rdblSauce.SelectedItem、addMultiChoice(chkExtras)、1));
m、 Add(新订单(hfProductId.Value、rdlPriceId、rdblSauce.SelectedItem、m.addMultiChoice(chkExtras)、1、rdblExtraOption.SelectedItem));
打破
案例19:
m、 Add(新订单(hfProductId.Value、rdlPriceId、rdblSauce.SelectedItem、m.addMultiChoice(chkExtras)、1));
打破
案例20:
m、 Add(新订单(hfProductId.Value、rdlPriceId、rdblSauce.SelectedItem、m.addMultiChoice(chkExtras)、1));
打破
案例21:
m、 添加(新订单(hfProductId.Value、rdlPriceId、rdblSauce.SelectedItem、1));
打破
案例22:
m、 Add(新订单(hfProductId.Value、rdlPriceId、rdblSauce.SelectedItem、m.addMultiChoice(chkExtras)、1));
打破
违约:
m、 Add(新订单(hfProductId.Value,rdlPriceId,m.addMultiChoice(chkGarnish),1));
打破
}
//保存更新的列表
m、 会话[“购物车”]=m.values;
如果(m.Session[“购物车”!=null)
{
m、 btnOrder.Text=“Winkelmandje(€“+Global.CalcTotPrice(m.values)+”);
}
}
我不确定我是否用正确的方法来做,我也是jquery新手。 通过这段代码,我得到了一个NullReferenceException。repeaterItem的uniqueID通过参数成功传递,但到repeaterItem的转换失败


更多信息:我有一个嵌套的中继器(总共2个),我想要第二个中继器的中继器项

public static void saveOrder(string par)您不返回任何内容您的方法返回类型为null,对于ajax,请给出null reference excpion不确定它是否与返回值有关。代码在行变量处失败且为null。如果要检索列表,则body ajax调用方法,并且当您不返回任何内容时,方法必须返回一个值“我想通过jquery检索repeateritem到codebehind上的我的saveorder函数”,然后将列表传递给ajax。您正在记录dataconsole.log(data.d);但是没有异常的数据,因此null reference expetion要么从success函数中移动数据,要么将一些东西传递给ajaxok如果你想将参数传递给控制器,你可以通过查询字符串“{par:“+id+”}”,这是不需要的,试试“/mobile/Default.aspx/saveOrder?par”+id,我可以在我的c#代码中获取我的参数。也许我写的不清楚。我希望将repeaterItem id添加到我的c#代码中,以便能够检索其中的所有控件。参数PAR具有重复项UNIQUID,但在重复项行=(重复项)M.Fink控件(PAR)中失败;