将参数从视图传递到控制器中的操作

时间:2014-05-14 10:42:51

标签: jquery sql-server asp.net-mvc-4

我是MVC的初学者

我的观看代码

<script>
$(function () {
    $("#dialog-modal").dialog({
        autoOpen: false,
        width: 400,
        height: 500,
        resizable: false,
        title: 'Accounts',
        modal: true,
        open: function (event, ui) {
            var ln = '@Html.Raw(Json.Encode(Model.ln))';
            var profileID = '@Html.Raw(Json.Encode(Model.profileID))';
            var title = '@Html.Raw(Json.Encode(Model.title))';
            var active = '@Html.Raw(Json.Encode(Model.active))';
            alert(active);
            var link = '@Url.Action("accountPartial", "BillingProfile")?ln=' + ln + '&profileID=' + profileID + '&title=' + title + '&active=' + active;
                    //link = link.replace(-1, ln);
                    //link = link.replace(-2, profileID);
                    $(this).load(link);

                },
                buttons: {
                    "Close": function () {
                        $(this).dialog("close");
                    }
                },
                show: {
                    effect: "blind",
                    duration: 200
                },
                hide: {
                    effect: "blind",
                    duration: 200
                }
            });
            $("#opener-modal").click(function () {
                $("#dialog-modal").dialog("open");
            });
        });
    </script>

我的控制器操作

public ActionResult accountPartial(string title,bool active,int ln = 0, int profileID = 0)
    {
        List<AccountCode> model = db.AccountCodes.ToList();
        ViewBag.ln = ln;
        ViewBag.profileID = profileID;
        ViewBag.title = title;
        ViewBag.active = active;
        return PartialView("_AccountPartial", model);

这里当我输入有空格的标题(例如:支票帐户),然后我的控制器操作&#34; accountpartial&#34;不叫 当我输入没有任何空格的标题(例如:check)时,我的actionName被调用 问题一定是什么? 提前致谢

1 个答案:

答案 0 :(得分:0)

可能是标题中的空格未被正确编码。尝试使用encodeURIComponent()来解决此问题。

var link = '@Url.Action("accountPartial", "BillingProfile")?ln=' + ln + '&profileID=' + profileID + '&title=' + encodeURIComponent(title) + '&active=' + active;

只是一个想法。无法确定。