当前位置: 首页 > 面试题库 >

使用jquery post将Dictionary数据传递到Controller字符串方法

司马钱明
2023-03-14
问题内容

我的jQuery代码如下

 $("#btnExec").live('click', function () {
       var data1= "lorem ipsum";
       var data2= "lorem ipsum";
       var data3= "lorem ipsum";
       var dict = new Object();

       $("#ArgsTable tr").each(function (e) {
                var firstTD = $(this).find("td").eq("0").html().trim().replace(/\s/g, "");
                var secondValue = $(this).find("td").eq("1").find("input:text").val();
                dict[e] = [firstTD,secondValue]; 
       });

       $.ajax({
                type: 'POST',
                cache: false,
                data: { strdata1: data1, strdata2: data2, strdata3: data3, myDictionary: dict },    
                url: '<%=Url.Action("ExecData","Home") %>',
                success: function (data) {        
                }
              });
 });

我的控制器方法如下

public string ExecData(string strdata1, string strdata2, string strdata3,  Dictionary<object, object> myDictionary)
{
    //do some stuff...
}

如果我单击 btnExec的 意思是,它用字符串值正确触发了控制器方法,但是字典值始终为 null ..

在我的场景中,“控制器方法的返回类型应该仅是字符串”

我该如何解决?提前致谢 !!!


问题答案:

像这样的Tyr:

[HttpPost]
public ActionResult ExecData(
    string strdata1, 
    string strdata2,  
    string strdata3, 
    Dictionary<string, string> myDictionary
)
{
    return Content("hello world");
}

然后:

var data = {
    strdata1: 'lorem ipsum',
    strdata2: 'lorem ipsum',
    strdata3: 'lorem ipsum'
};

$('#ArgsTable tr').each(function (index, item) {
    var firstTD = $(this).find('td').eq(0).html().trim().replace(/\s/g, '');
    var secondValue = $(this).find('td').eq(1).find('input:text').val();
    data['myDictionary[' + index + '].Key'] = firstTD;
    data['myDictionary[' + index + '].Value'] = secondValue;
});

$.ajax({
    url: '<%=Url.Action("ExecData","Home") %>',
    type: 'POST',
    traditional: true,
    data: data,
    success: function (result) {

    }
});


 类似资料:
  • 问题内容: 我有一个字符串数组一样,我想这个数组发送到 ç 使用 JNI 。我找不到任何明确的解决方案。我试图将此字符串视为成功,但没有成功。 有没有办法做到这一点? 问题答案: 您可以编写一个简单的函数,该函数接受一个对象,将每个对象强制转换为jstring,然后对其进行调用。 像这样:

  • 问题内容: 如果我执行以下操作: 我得到: 显然,cStringIO.StringIO对象没有足够接近库中的子程序来适应subprocess.Popen。我该如何解决? 问题答案: 说明文件: 请注意,如果要将数据发送到进程的stdin,则需要使用创建Popen对象。同样,要在结果元组中获得除None以外的任何内容,你还需要提供和/或。 替换 警告使用而不是,或来避免死锁,因为任何其他OS管道缓冲

  • 问题内容: 我正在查询页面上,用户在其中选择一个代表不同类型的值,每个值由一个ID标识。问题是使用WHERE IN方法从数据库中选择这些ID。 这是我的SQL语句 它将适用于一个单一值,例如。46,但如果值放在方括号中则不是,例如。(46)或(‘46’),即IN的方式。 我使用的是Visual Studio,它会自动生成访问表适配器以获取值的方法,所以我认为我必须通过SQL来做到这一点。 我正在传

  • 我正在使用angularjs启动一个项目。我试图通过我的应用程序发送电子邮件使用Spring启动启动邮件。邮件的消息和对象是由用户以一种形式写的。我想做的是在我的RestController中使用@刚体获取消息和对象值。 我service.js中的功能 我的restContoller中的方法 @RestController公共类EmailController{ 这将引发此异常: 我怎么才能修好它?

  • 问题内容: 我有一个PHP脚本,可以从数据库中检索名称(字符串)。我想使用$ .ajax()将此数组传递给Javascript。我不明白如何在PHP中对数组进行编码,然后在Javascript中对其进行解码。有人可以为此提供示例代码吗?非常感谢 !! 问题答案: HTML档案:

  • 本文向大家介绍C#使用Http Post方式传递Json数据字符串调用Web Service,包括了C#使用Http Post方式传递Json数据字符串调用Web Service的使用技巧和注意事项,需要的朋友参考一下 引言   前段时间一直在做一个ERP系统,随着系统功能的完善,客户端(CS模式)变得越来越臃肿。现在想将业务逻辑层以下部分和界面层分离,使用Web Service来做。由于C#中通