0

好的,所以,这个标题是满口的......但是,我想你明白我想要做什么。

我有一个包含 jquery 选项卡控件的页面,我通过循环浏览我的模型来呈现不同的选项卡。现在,也使用相同的循环创建了 div(“链接”到这些选项卡)。因此,我有相同的选项卡 + 连接到这些选项卡的 div。

问题是,它只是第一个 RenderAction 被调用,所有其他的都是一样的。

循环渲染操作的代码:

foreach (var domain in Model.Domains)
{ %>
    <%= String.Format(@"<div id=""domain_{0}"">", domain.ID)%>
        <%= Html.Encode(domain.ID) %>
        <% Html.RenderAction("DomainView", "Person", new { domainid = domain.ID }); %>

    </div>
<% } %>

因此,每个 div 的 id 为“domain_NUMBER”,当然数字是循环的。并且 renderaction 在我的控制器中调用带有“domainid”参数的“DomainView”操作。

乐观地说,我认为这会起作用,但是,我想我错了......

4

2 回答 2

0

如果我理解正确,你会得到 3 个 div,但它们都是一样的。

同样,您可能意味着两件事:

1) 如果您的意思是所有 div 都命名为“div_1”,那么您有 3 个域具有相同的 domainid,并且您将域添加到模型的方式存在问题

2)如果您的意思是div的名称不同但内容相同,

您需要在 Person 控制器的 DomainView 操作处设置断点。这将让您看到传入的域 ID。因为代码本身看起来不错。这个问题可能与路由有关。例如,DomainView 操作采用 ID 参数,但您传递的是 DOMAINID,因此 ID 只是默认为 0,这意味着所有 div 具有相同的内容

于 2010-01-22T17:45:04.703 回答
0

Statichippo,确实,它与我的路由值有关。

看到我不是制作路线图的开发人员,我“忘记”检查这些。一旦我制定了我的 URL 以使用查询字符串,一切都运行良好!

在当前项目中,不允许添加/修改路由值,所以我必须找到一种解决方法。

于 2010-02-01T15:13:14.400 回答