查询字符串未使用jquery正确传递给Controller

时间:2014-03-26 06:59:38

标签: jquery asp.net-mvc-4

我有两个文本框

  <input type="text" id="txt1"/>
  <input type="text" id="txt2"/>

和一个按钮

  <input type="submit" value="update" name="btn" id="update"/>

这里我想将文本框文本传递给控制器​​操作方法,因为我已经编写了如下脚本

<script>
    $(document).ready(function () {
        $("#update").click(function () {
            var text1=$("#txt1").val();
            var text2=$("#txt2").val();
             location.href = '@Url.Action("GetEmployeeDetails", "Employer")?empid=' + empid + '&&startdate='+text1+'&&enddate='+txt2;
        });
    });
</script>

并将查询字符串值传递给Controller。

        public ActionResult GetEmployeeDetails(string btn, TimesheetModel timesheetModel,[Optional]string text1,[Optional]string txt2 )

        //Not Getting passed values of txt1 and txt2 from jquery, when script enter to here, getting null value instead of data.
       {
          //some code here
       }

请帮助我。

2 个答案:

答案 0 :(得分:0)

<。> .net中的QueryString通知是名称约定。 解决方案:更改服务器端值名称,例如:
text1应更改为startdate

public ActionResult GetEmployeeDetails(string empid,[Optional]string startdate,[Optional]string enddate, TimesheetModel timesheetModel=null )

还有一件事,你应该只发送一个&amp;在您的查询字符串中不是两个:

location.href = '@Url.Action("GetEmployeeDetails", "Employer")?empid=' + empid + '&startdate='+text1+'&enddate='+txt2;

。 无论如何,模型无法传递获取请求,因此应将其删除或将请求更改为发布。

答案 1 :(得分:0)

将您的操作结果更改为

  public ActionResult GetEmployeeDetails(string empid, string startdate, string enddate)
  {
      // Your code......      
  }