我在页面上有三个RadListBox控件。当用户将项目从第一个列表框拖到第二个列表框时,我需要第三个自动生成文本框。
我已经想出如何使用JavaScript添加常规HTML文本框。但是,我无法在代码隐藏页面中访问此内容,因为添加runat=server
字段会导致错误。这是我用来插入文本框的客户端JavaScript代码:
//Add textbox to 3rd listbox
var listbox = $find("<%= ListBoxThree.ClientID %>");
listbox.trackChanges();
var textboxItem = new Telerik.Web.UI.RadListBoxItem();
textboxItem.set_text(item.get_text()); //sets the ID
textboxItem.set_clientTemplate(" <input id=\"#= Text #\" type=\"text\" /> ");
textboxItem.bindTemplate();
textboxItem.set_value
listbox.get_items().add(textboxItem);
listbox.commitChanges();
如果我尝试添加runat=server
,我会收到以下错误:
Parser Error
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.
Line 70: textboxItem.set_clientTemplate(" <input id=\"#= Text #\" type=\"text\" runat=\"server\" /> ");
分析程序错误消息:服务器标记格式不正确。
当用户点击“保存”按钮时,项目的“文本”和“值”字段不会使用他们输入的文本进行更新。
protected void SaveButton_Click(object sender, EventArgs e)
{
foreach (RadListBoxItem item in ListBoxThree.Items)
{
string value = item.Value;
string text = item.Text;
}
}
如果有人能指出我正确的方向,我真的很感激!