Я работаю над проектом с RadTreeView.
Я пытаюсь связать узлы именами из базы данных.
Привязка данных выполняется при открытии панели замечаний (когда 'Замечание «нажата», поэтому в Page_Load нет, потому что «Загрузка страницы» предназначена только для открытия главной страницы. Если я ошибаюсь, исправьте меня.
Однако я получаю сообщение об ошибке:
System.Web.HttpException: 'DataBinding:' System.Web.UI.WebControls.SqlDataSource 'не содержит свойства с именем' Name '.'
Пожалуйста, найдите код моего сервера и клиентовкак показано ниже.
.ascx
<telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">
<script>
function OpenEditWindow() {
var appWindow = $find("<%=rdwRemark.ClientID%>");
appWindow.show();
}
function CloseEditWindow() {
var appWindow = $find("<%=rdwRemark.ClientID%>");
appWindow.close();
}
</script>
</telerik:RadScriptBlock>
<telerik:RadWindow ID="rdwRemark" runat="server" Title="Remark"
Width="375" Height="400"
Behaviors="Close"
Modal="true"
CenterIfModal="true"
Skin="Telerik">
<ContentTemplate>
<telerik:RadAjaxPanel ID="RadAjaxPanel3" runat="server">
<asp:HiddenField ID="hdnOrderId" runat="server" />
<telerik:RadTreeView RenderMode="Lightweight" runat="server" ID="RadTreeView1"
EnableDragAndDrop="false"
OnClientNodeDropping="onDropping" EnableDragAndDropBetweenNodes="false">
<Nodes>
<telerik:RadTreeNode runat="server" Text="Alt Yuklenici" AllowDrag="false">
<NodeTemplate>
<%#DataBinder.Eval(SqlDataSource1 , "Name") %>
</NodeTemplate>
</telerik:RadTreeNode>
</Nodes>
</telerik:RadTreeView>
<asp:SqlDataSource runat="server" ID="SqlDataSource1" ConnectionString="<%$ ConnectionStrings:TTMS_DB %>"
SelectCommand="Select [Name] from [TTMS].[P21].[P_Master_Subcontractors] "></asp:SqlDataSource>
</telerik:RadAjaxPanel>
</ContentTemplate>
</telerik:RadWindow>
.ascx.cs
protected void grdOrder_ItemCommand(object sender, GridCommandEventArgs e)
{
if (e.CommandName == "Remark")
{
RadTreeView1.DataBind(); //data bind is done when Remark is clicked.
var orderval = (e.Item as GridDataItem).GetDataKeyValue("ORDER_ID").ToString();
var orderData = pmsSrv.GetOrderByOrderId(orderval.ToInt());
//var textbox = RadAjaxPanel3.FindControl("textbox") as TextBox;
//textbox.Text = orderData.Remark;
(RadAjaxPanel3.FindControl("hdnOrderId") as HiddenField).Value = orderval;
pmsSrv.ResponseScript("OpenEditWindow()");
return;
}
}
В базе данных существует даже «Имя», код не можетнайди его.
Любая помощь приветствуется.
Спасибо,
С уважением.