ASP.NET MVC 5:尝试将模型值添加到for loop-中的AJAX ActionLink目标ID / DIV元



我正在从事一个项目(这是这个主题的新事物(,用户可以在其中添加一个公司的多个地址。现在,我想在我的身边添加部分视图(通过单击操作链接(有可能输入这些地址的多个电话号码。

在单击操作链接的地址(将固有的DIV元素放置在此处(之后,应直接放置空子部分(对于电话和..(

例如,我有两个用于公司xyz的插件,我渲染了两个Action链接,每个链接都列出了DIV元素。

如何告诉我的Ajax Action链接以仅更新for循环中的corespessing Div?我的意思是,如果单击第一个链接,则部分视图应在第一个div元素位置等。我有一个可将其添加到div。

的ID中的地址ID

由控制器正确返回部分(与Fiddler检查(,但不会在页面上重新归还。如果我在ActionLink的" updateTargetId"中删除对" advellyId"的引用,并且在占位符div中 - 一切都很好。

如果我检查Webside源代码,我在TargetID和Div ID中具有相同的"名称"(comrow 1( - 请参阅:

... data-ajax =" true" data-ajax-mode ="之后" data-ajax-update ="#comrow 1" href ="/companyDetails/getCommunicationEditor/1">添加新手机./email此地址...

和:

        </div>
        <div id="ComRow+1">
            </div>

我找到了这个:

ajax.actionlink中的动态更新目标ID

但在我的情况下它不起作用(也许我是为了循环吗?(

和这个:如何在action linkText

中添加INT的模型主键

但是" .toString(("确实解决了问题

我在做什么错?许多人提前感谢

这是生成循环的代码:

<div>
    @for (int i = 0; i < Model.EditorAddresses.Count(); i++)
    {
        @Html.EditorFor(m => m.EditorAddresses[i])
        //Start - render link to add template for the new address
        <div>
            @Ajax.ActionLink("Add a new Phone no./Email for this Address...",
       "GetCommunicationEditor", new { @id = Model.EditorAddresses.ElementAt(i).AddressId },
       new AjaxOptions
       {
           InsertionMode = InsertionMode.InsertAfter,
           UpdateTargetId = "ComRow+" + Model.EditorAddresses.ElementAt(i).AddressId.ToString(),
       });
        </div>
        //End - render link to add template for the new address

        <div id="ComRow+@Model.EditorAddresses.FirstOrDefault().AddressId.ToString()">
            </div>
        //<div id="ComRow+<%=Model.EditorAddresses.ElementAt(i).AddressId%>"></div>
        ...
    }

我自己解决了问题!我删除了字符串元素" comrow"。

我修改了Ajax ActionLink:

updateTargetId = model.editorAddresses.elementat(i(.addressid.tostring((,

结果是:data-ajax-update ="#1"(在网站的"查看源代码"中(

我还将" Div ID"的代码更改为:

id ="@model.editorAddresses.elementat(i(.addressid.tostring(("

结果:

id =" 1"如果我查看网站源代码

P.S。DIV元素的已发布代码也存在一个错误" ... firstordEfault((.."是错误的。正确的方法是使用" ... elementat(i(.."。

我认为问题是,DIV ID不接受" "

也许这有助于某人

最新更新