Javascript 剑道用户界面下拉列表松动状态
我有两个Kendo UI Web下拉列表,一个是客户端绑定,一个是静态值:Javascript 剑道用户界面下拉列表松动状态,javascript,c#,jquery,asp.net,kendo-ui,Javascript,C#,Jquery,Asp.net,Kendo Ui,我有两个Kendo UI Web下拉列表,一个是客户端绑定,一个是静态值: <select runat="server" id="ddlCheckStatic" class="k-dropdown" style="width: auto"> <option value="One">One</option> <option value="Two">Two</option> <option value="Three"
<select runat="server" id="ddlCheckStatic" class="k-dropdown" style="width: auto">
<option value="One">One</option>
<option value="Two">Two</option>
<option value="Three">Three</option>
</select>
<select runat="server" id="ddlCheckdynamic" class="k-dropdown" style="width: auto">
</select>
<script>
$("#ddlCheckStatic").kendoDropDownList();
var data =
[
{ text: "Black", Id: "1" },
{ text: "Orange", Id: "2" },
{ text: "Grey", Id: "3" }
];
$("#ddlCheck").kendoDropDownList({
dataValueField: "Id",
dataTextField: "text",
dataSource: data
});
</script>
现在,静态下拉列表(即ddlCheckStatic在回发上保持其状态,并且在btn\u单击中也可以访问其所选值,但动态下拉列表(即ddlCheckdynamic)不会发生同样的情况。
是否也有同样的行为可以从动态中得到
更新
若像下面这样从服务器端绑定值,那个么控件将保持其状态
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ddlCheckDynamic.Items.Add(new System.Web.UI.WebControls.ListItem() { Text = "Black", Value = "1" });
ddlCheckDynamic.Items.Add(new System.Web.UI.WebControls.ListItem() { Text = "Orange", Value = "2" });
ddlCheckDynamic.Items.Add(new System.Web.UI.WebControls.ListItem() { Text = "Grey", Value = "3" });
}
}
您无法从服务器端访问从客户端生成的项目,因为将项目添加到select时,ASPNET不会收到此通知,并且不存在正确的.Net HTML标记。是的,我还知道这是我遇到的问题。但是剑道中有什么解决方案吗?我认为从下拉列表中检索所选值的唯一方法是使用javascript:当选择值时,设置一个隐藏字段,然后在服务器端检索它。
protected void btn_Click(object sender, EventArgs e)
{
string _static = ddlCheckStatic.Value; // Working great :)
string _dynamic = ddlCheckdynamic.Value; // Is blank everytime :(
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ddlCheckDynamic.Items.Add(new System.Web.UI.WebControls.ListItem() { Text = "Black", Value = "1" });
ddlCheckDynamic.Items.Add(new System.Web.UI.WebControls.ListItem() { Text = "Orange", Value = "2" });
ddlCheckDynamic.Items.Add(new System.Web.UI.WebControls.ListItem() { Text = "Grey", Value = "3" });
}
}