0

我有一个项目,我在克里特岛 jquery 选项卡并使用 Ajax 加载它们的部分视图(全部动态完成),有一些共享的部分视图,如“selectUser”,问题是一些选项卡将同时使用这个部分视图,所以我会重复 ids,然后我说“没有概率”使用类和更具体的选择器,但我不能让 jqgrid 使用类选择器工作。

所以我正在寻找一种很好的方法来: - 创建动态 ID 或 - 使用类使 jqgrid 工作

4

3 回答 3

0

我不确定我是否理解正确。如果您使用 jqGrid,您需要<table>在网格上有一些具有唯一 id 属性的元素。如果您<table>动态生成元素,您可以先生成唯一 id,然后<table>使用 id 属性创建元素。该方法$.jgrid.randId()可以帮助您。使用非常简单。您可以在答案中找到代码示例。

存在另一个问题,因为必须为id网格的每一行分配唯一属性。如果您在没有为输入数据中的行指定任何id行的情况下填充网格,或者如果网格的本机 id 可能具有共同值(不同网格中的相同 rowid),则您可以在数据中有 id 重复。idPrefix您可以通过使用选项来解决问题。如果您在页面上的所有网格中指定不同的选项值idPrefix(例如idPrefix: "g1_",对于第一个网格,idPrefix: "g2_"对于第二个等),则 rowid 将从ididPrefix. 所以你会有独特的rowids。

于 2013-06-05T14:42:43.027 回答
0

为每个不同的项目添加前缀

public static void RenderPartialWithPrefix(this HtmlHelper helper, string partialViewName, object model, string prefix)
        {
            helper.RenderPartial(partialViewName,
                                 model,
                                 new ViewDataDictionary { TemplateInfo = new System.Web.Mvc.TemplateInfo { HtmlFieldPrefix = prefix } });
        }
于 2013-06-05T14:38:29.710 回答
0
@Html.Partial("_Address", 
new ViewDataDictionary() 
{ 
  TemplateInfo = new TemplateInfo() { HtmlFieldPrefix = "ShippingAddress" }
})

上面使用的 Partial() 助手的变体使用 ViewDataDictionary 参数来指定 TemplateInfo。TemplateInfo 的 HtmlFieldPrefix 属性必须设置为您选择的名称。

结果:

<input id="ShippingAddress_Street" name="ShippingAddress.Street" type="text" value="" />
于 2015-12-18T10:59:55.620 回答