从jquery选项卡将参数传递给控制器

时间:2012-06-27 13:11:49

标签: jquery asp.net-mvc-3 jquery-tabs

我正在按钮单击时使用参数加载一个jquery对话框。 (能够做到)这个对话框将打开一个局部视图,它包含jquery选项卡(包含两个选项卡)。我希望在对话框中传递参数,以便根据条件更正jquery选项卡,以便它转到控制器。

我可以在对话框中获取参数。我试图将参数从jquery选项卡传递给控制器​​,但它总是为空。代码如下:

对话框的JS

//open jquery dialog
var diag = $('#MyDiv');

diag.load("/Controller/Action?item=" + $(this).id, '', function () {
}); 

//this is working

$(diag).dialog('open');

控制器

//on controller to loading partial view
public ActionResult Action(int item)
{
     Model mmodel = new Model();
     mmodel.itemid= item;
    return PartialView("_partialview", mmodel);
}

Html标记

//partial view which will show tabs. i want to pass paramater from tab to controller
<div id="tabContainer">
    <ul>
        <li><a href="SomeAction1?itemid=" + @Model.itemid>Tab1</a></li>
        <li><a href="SomeAction2">Tab2</a></li>
    </ul>
</div>
}
<script type="text/javascript">    
    $(document).ready(function () {
        $("#tabContainer").tabs();
    });
</script>

如何将参数'itemid'传递给控制器​​中的SomeAction1?有什么解决方案吗?

2 个答案:

答案 0 :(得分:0)

  <li>
     @Url.ActionLink("Tab1","SomeAction",new {itemid=Model.itemid})
  </li>

使用HTML Helper方法而不是硬编码路径始终是一个好习惯。

答案 1 :(得分:-1)

尝试下面 1]

     <li><a href="SomeAction1/" + @Model.itemid>Tab1</a></li>
<li><a href="SomeAction2">Tab2</a></li>

2]将您的操作参数重命名为Itemid

public ActionResult Action(int itemid)

如果您看到ViewSource,那么它应该看起来像belwo 007是itemid

/SomeAction1/007