首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Ajax文章中将div的html传递给@Url.Action

如何在Ajax文章中将div的html传递给@Url.Action
EN

Stack Overflow用户
提问于 2012-05-08 23:12:05
回答 1查看 2.3K关注 0票数 0

答:我到目前为止所取得的成就如下:

  1. I有3个div“NewAction NewController NewArea
  2. I”当前有一个带有url的$.Ajax帖子,如下所示:'@Url.Action("CurrentAction“、"CurrentController”、new { area = "CurrentArea“})
  3. --我有几个页面需要这个特定的Ajax帖子,所以我将Ajax文章放在一个分部中,使用它的每个主页都在部分调用中有一个参数,例如:

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

  • 上面#1中的div被成功地用#3

中的字符串值动态填充

B.我的困难所在:

尽管做了很多努力&尝试,但我无法将#2中的@Url.Action值更改为#1中的div中的值。

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

有没有人知道如何将部分调用(#3)中的参数值传递给上面第2段中的Ajax post中的Url.Action方法。

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-09 06:14:50

您可以有一个方法,该方法将提取传递给此强类型分部的值,并构建url:

代码语言:javascript
复制
@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>

会这样呈现:

代码语言:javascript
复制
<script type="text/javascript">
    var url = "/NewArea/NewAction/NewController";
    $.ajax({
        url: url,
        type: 'POST',
        success: function(result) {
            // ...
        }
    });
</script>

但是,如果不需要单独地使用这些路由值,另一种可能是将整个url直接传递给分部视图:

代码语言:javascript
复制
@Html.Partial("_About", Url.Action("NewAction", "NewController", new { area = "NewArea" }))

然后在部分内部简单地使用它:

代码语言:javascript
复制
@model string
<script type="text/javascript">
    var url = @Html.Raw(Json.Encode(Model));    
    $.ajax({
        url: url,
        type: 'POST',
        success: function(result) {
            // ...
        }
    });
</script>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10507829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档