Asp.net mvc 3 如何通过div';在Ajax post中将html改为@Url.Action A.到目前为止我成功的地方:

Asp.net mvc 3 如何通过div';在Ajax post中将html改为@Url.Action A.到目前为止我成功的地方:,asp.net-mvc-3,c#-4.0,jquery,Asp.net Mvc 3,C# 4.0,Jquery,我有三个div“ 新行动 新控制器 新区 我有一篇$.Ajax文章,当前的url如下 '@Url.Action(“CurrentAction”,“CurrentController”,新的{area=“CurrentArea”})” 我有几个页面需要这篇特定的Ajax文章,所以我将Ajax文章放在一个部分中,每个使用它的主页在部分调用中都有一个参数,例如: @Html.Partial(“_PartialPage”,new[]{“NewAction”,“NewController”,“NewAre

我有三个div“ 新行动 新控制器 新区

  • 我有一篇$.Ajax文章,当前的url如下 '@Url.Action(“CurrentAction”,“CurrentController”,新的{area=“CurrentArea”})”

  • 我有几个页面需要这篇特定的Ajax文章,所以我将Ajax文章放在一个部分中,每个使用它的主页在部分调用中都有一个参数,例如:

    @Html.Partial(“_PartialPage”,new[]{“NewAction”,“NewController”,“NewArea”})

  • 上面#1中的div成功地用#3中的字符串值动态填充

  • B.我的困难所在: 尽管做出了许多努力和尝试,但我无法将#2中的@Url.Action值更改为#1中div中的值

    我甚至试图声明C#private变量并用foreach填充它们,foreach填充上面的div并将这些值传递到@Url.Action链接,但我得到了一个运行错误

    有人知道我可以如何将部分调用(#3)中的参数值传递到上面#2中Ajax文章中的Url.Action方法吗


    提前感谢。

    您可以使用一种方法来提取传递给此强类型分部的值并构建url:

    @model string[]
    
    @functions {
        public string GetUrl() {
            if (Model != null && Model.Length > 2)
            {
                var values = new RouteValueDictionary();
                values["controller"] = Model[0];
                values["action"] = Model[1];
                values["area"] = Model[2];
                return Url.RouteUrl(values);
            }
            return Url.Action("CurrentAction", "CurrentController", new { area = "CurrentArea" });
        }
    }
    
    <script type="text/javascript">
        var url = @Html.Raw(Json.Encode(GetUrl()));    
        $.ajax({
            url: url,
            type: 'POST',
            success: function(result) {
                // ...
            }
        });
    </script>
    
    然后在零件内部简单地使用它:

    @model string
    <script type="text/javascript">
        var url = @Html.Raw(Json.Encode(Model));    
        $.ajax({
            url: url,
            type: 'POST',
            success: function(result) {
                // ...
            }
        });
    </script>
    
    @模型字符串
    var url=@Html.Raw(Json.Encode(Model));
    $.ajax({
    url:url,
    键入:“POST”,
    成功:功能(结果){
    // ...
    }
    });
    
    你能给我一个div的html示例吗?我很难理解你的部分和主页上的内容。@{int I=0;}@foreach(模型中的var item){I++;@HttpUtility.UrlDecode(item)}我不知道为什么我有时会在这个网站上发帖。如果你不能得到一些帮助,你会得到一个口头上的评论“读这个”。我的意思是为什么要麻烦?AF:我试过了,正如我的困难所在第2段(模糊地)提到的。我将回顾Darin发布的内容,并对我的结果进行评论。无论如何,谢谢。
    @Html.Partial("_About", Url.Action("NewAction", "NewController", new { area = "NewArea" }))
    
    @model string
    <script type="text/javascript">
        var url = @Html.Raw(Json.Encode(Model));    
        $.ajax({
            url: url,
            type: 'POST',
            success: function(result) {
                // ...
            }
        });
    </script>