【问题标题】:Add list items to jqueryui through C# code-behind通过 C# 代码隐藏将列表项添加到 jqueryui
【发布时间】:2023-03-20 21:15:01
【问题描述】:

我正在使用this plugin 来显示一个可选列表。

虽然它工作正常,但我需要从 C# 后面的代码中填充这些列表项。 你能指出我正确的方向吗?

这是代码隐藏部分:

 wnetEntities1 db = new wnetEntities1();
 var wl = from w in db.wnet_available
         join role in db.wnet_userinfo
         on w.UserID equals role.UserId
         where w.AvailStatus == 1 && role.WLId == 1
         select new { w.UserID, role.FirstName };

wl.ToList();
foreach (var w in wl)
{
    var name = w.FirstName;

//猜测这是应该生成 li 项目的地方。 }

这是html列表(需要从asp.net生成):

        <ol id="selectable">

        <li class="ui-widget-content">Item 1</li>
        <li class="ui-widget-content">Item 2</li>
        <li class="ui-widget-content">Item 3</li>
        <li class="ui-widget-content">Item 4</li>
        <li class="ui-widget-content">Item 5</li>
        <li class="ui-widget-content">Item 6</li>
        <li class="ui-widget-content">Item 7</li>
    </ol>

【问题讨论】:

  • 在后面的代码中,能不能不生成字典列表并返回给js,这样你就可以用你的jquery插件填充了?

标签: c# jquery .net jquery-ui jquery-ui-selectable


【解决方案1】:

为了能够在服务器端看到您的ol 元素,首先将runat="server" 添加到它:

<ol id="selectable" runat="server">  

然后您可以轻松地将您的lis 添加到它:

foreach (var w in wl.ToList())
{
    HtmlGenericControl li = new HtmlGenericControl("li");
    li.Attributes.Add("class", "ui-widget-content");
    li.InnerText = w.FirstName;
    selectable.Controls.Add(li);
}

【讨论】:

  • 嗨@Kamyar,尝试执行上述操作,但我无法为“ol”元素设置 ClientIDMode。该属性不会出现在智能感知上。
  • @AmitPhilips 这是在 .Net 4 中添加的
  • 嗨@kamyar 虽然智能感知没有显示它,但我把它放在它工作。非常感谢 :)(使用 .NET 4.0)
【解决方案2】:

像这样?

   <% var items = wl.ToList(); %>

        <ol id="selectable">

         <%   foreach (var w in items)
            { %>
            <li class="ui-widget-content"><%=w.FirstName %></li>

            <% } %>
       </ol>

【讨论】:

  • 请原谅我缺乏知识。但是我应该在哪里写上面提到的代码......在代码隐藏或 .aspx 中?你为什么使用“”这是某种技术?
  • 不,它是 ASP/ASPX 页面内的 C# 代码的标记。如果我的回答不清楚或对您的问题一点不好,您可以关注 Kamyar 的回答
  • 感谢蛇眼和@kamyar 的回复。我遵循了蛇眼提到的内联 asp 方法(在我的场景中需要这个),它工作得很好。使用“runat = server”调用 jqueryui 禁用了列表功能和样式 :) 谢谢大家超级开心 :)
  • @Amit:您必须将 ClientIdMode 设置为 static 以强制 asp.net 使用您的 id 并且不为 ol 元素生成新的 id。
  • @Kamyar 我如何在代码隐藏文件中获取选定的 li 项?
猜你喜欢
  • 2011-04-01
  • 1970-01-01
  • 2013-07-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-19
  • 2012-08-11
  • 1970-01-01
相关资源
最近更新 更多