c# - 难以使用 JQuery 设置自定义 DDL 的值

标签 c# asp.net jquery

编辑2:

我尝试了一些新的东西,我添加了这行代码:

$(self.ddlOwner + "option[value='" + this.owner_USER_ID +"']").attr("selected", "selected");

然而,这行代码确实正确地设置了值,但它对页面上的所有 DDL 都这样做了。因此,如果该值为 1,我在整个页面上的所有四个 DDL 都将值设置为 1。

结束Edit2

我有一个自定义控件 DropDownList。

public class AssigneesDDL : System.Web.UI.WebControls.DropDownList
    {
    ...
    }

它在初始化时被填充。在服务器端,我会使用一个属性来设置它的值。

这个属性:

 public string ValueID
        {
            get { return base.SelectedItem.Value; }

            set
            {
                ListItem li = base.Items.FindByValue(value.ToString());
                if (li != null)
                {
                    li.Selected = true;
                }
                else
                {
                    ListItem li2 = new ListItem("", "");
                    base.Items.Add(li2);
                    li2.Selected = true;
                }
            }

        }

现在我需要从客户端选择值,我正尝试使用一些 JQuery 来这样做,但没有任何运气。

我捕获了值,但不知道如何设置它。我都试过了:

 $(self.ddlOwner).val(this.owner_USER_ID);

$(self.ddlOwner + "option:selected").val(this.owner_USER_ID);

有人有什么想法吗?

编辑:

哦,我试过了:

$(self.ddlOwner + "option:selected").text(this.owner_USER_ID);

这实际上是用正确的值在 DDL 中添加了一个新行,但它也会将该值添加到我页面上的每个 DDL。这很奇怪。不太确定为什么会那样做。

Self.ddlOwner 是 ("#"+ ddl.clientID)。所以我在控件上有正确的句柄。

最佳答案

如果您有一个在服务器端填充的自定义控件,为什么要尝试在客户端设置值?设置 SelectedItem 或 SelectedIndex 属性应该就足够了,然后它就会正确呈现。

能否请您详细解释一下您的场景?

关于c# - 难以使用 JQuery 设置自定义 DDL 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2329838/

相关文章:

javascript - 设置 div 的 HTML 以包含其自己的唯一值

c# - 在 ASP.Net 中,了解和分析性能的最佳方法是什么?

javascript - .Net 在搜索时不触发 Javascript(?) - 应该忽略默认值

c# - 在 linq to sql 中将图像存储在数据库中的最佳方法

javascript - 在 jquery 中禁用删除文本框的首字母?

javascript - jQuery 重新绑定(bind)或新元素上的实时事件?

jQuery只影响while循环中的最后一个结果: MySQL

c# - 如何在Swashbuckle中添加API描述?

c# - 在任何情况下,我们在处理变量时必须在 C# 中将变量设置为 null 吗?

c# - 通过类接口(interface)访问类的属性