error is <%#Eval("Comments")%> and <%#Bind("Comments")%> is not working in sharepoint2007.
<telerik:GridTemplateColumn HeaderText="Comments" DataField="Comments" SortExpression="Comments"
UniqueName="Comments" AllowFiltering="false">
<ItemTemplate>
<%
#Eval("Comments") %>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadTextBox ID="txtComments" Text='<%#Bind("Comments") %>' Visible="true"
runat="server" TextMode="MultiLine" Width="97%">
</telerik:RadTextBox>
</EditItemTemplate>
</telerik:GridTemplateColumn>
Any idea about this problem?
protected
override void CreateChildControls()
{
base.CreateChildControls();
userControl = Page.LoadControl(
@"~\_layouts\UserControls\RadGridDemo.ascx");
Controls.Add(userControl);
}
In the user control, I have a drop down list, RadGrid and descriptionPanel controls defined as below.<%
@ Control Language="C#" ClassName="RadGridDemo" %>
<%
@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<%
@ Import Namespace="System" %>
<%
@ Import Namespace="System.Data" %>
<%
@ Import Namespace="Telerik.Web.UI" %>
<
div>
<div>
<asp:PlaceHolder ID="Pl" runat="server">
<telerik:RadAjaxManager ID="AjaxManager" runat="server">
<ajaxsettings>
<telerik:AjaxSetting AjaxControlID="MyTrainingDDList">
<UpdatedControls>
<%
-- <telerik:AjaxUpdatedControl ControlID="Grid1" />--%>
<telerik:AjaxUpdatedControl ControlID="DescPanel" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="Grid1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="DescPanel" />
<telerik:AjaxUpdatedControl ControlID="Grid1" />
</UpdatedControls>
</telerik:AjaxSetting>
</ajaxsettings>
</telerik:RadAjaxManager>
<asp:DropDownList ID="DDList" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DDList_SelectedIndexChanged">
<asp:ListItem Text="Customers" Selected="True"></asp:ListItem>
<asp:ListItem Text="Employees"></asp:ListItem>
</asp:DropDownList>
<telerik:RadGrid runat="server" ID="Grid1" OnSelectedIndexChanged="Grid1_SelectedIndexChanged">
<clientsettings enablerowhoverstyle="true" enablepostbackonrowclick="true" allowexpandcollapse="true">
<Selecting AllowRowSelect="True"></Selecting>
</clientsettings>
</telerik:RadGrid>
</asp:PlaceHolder>
</div>
<div id="DescPanel" runat="server">
<asp:Label ID="lblName" runat="server">
</asp:Label>
</div>
</
div>
<
script runat="server">
int trainingId = 0;
DataSet ds = null;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Grid1.MasterTableView.DataKeyNames =
new String[] { "ID" };
SetData(0);
}
}
private void SetData(int index)
{
DataTable dt;
if (index == 0)
dt = GetCustomers();
else
dt = GetEmployees();
Grid1.DataSource = dt;
Grid1.Rebind();
if (Grid1.Items.Count > 0)
{
Grid1.SelectedIndexes.Add(0);
trainingId =
int.Parse(Grid1.MasterTableView.DataKeyValues[0]["ID"].ToString());
lblName.Text = trainingId.ToString();
}
else
lblName.Text =
"";
}
private DataTable GetEmployees()
{
DataTable dt = new DataTable("Employee");
dt.Columns.Add(
"Id");
dt.Columns.Add(
"FirstName");
dt.Columns.Add(
"LastName");
for (int i = 1; i <= 10; i++)
{
DataRow dr = dt.NewRow();
dr[
"Id"] = i.ToString();
dr[
"FirstName"] = "XXX" + i.ToString();
dr[
"LastName"] = "YYYY" + i.ToString();
dt.Rows.Add(dr);
}
return dt;
}
private DataTable GetCustomers()
{
DataTable dt = new DataTable("Customers");
dt.Columns.Add(
"Id");
dt.Columns.Add(
"FirstName");
dt.Columns.Add(
"LastName");
for (int i = 1; i <= 10; i++)
{
DataRow dr = dt.NewRow();
dr[
"Id"] = i.ToString();
dr[
"FirstName"] = "CCC" + i.ToString();
dr[
"LastName"] = "DDDDD" + i.ToString();
dt.Rows.Add(dr);
}
return dt;
}
protected void Grid1_SelectedIndexChanged(object source, System.EventArgs e)
{
int itemIndex = Grid1.SelectedItems[0].ItemIndex;
trainingId =
int.Parse(Grid1.MasterTableView.DataKeyValues[itemIndex]["ID"].ToString());
lblName.Text = trainingId.ToString();
}
protected void DDList_SelectedIndexChanged(object sender, EventArgs e)
{
int index = DDList.SelectedIndex;
SetData(index);
}
</
script>
Telerik.Web.UI.RadScriptManager.RegisterClientScriptBlock(RadSplitter1 , this.GetType(), "", "", true);
An unhandled exception was generated during the execution of the
current web request. Information regarding the origin and location of the
exception can be identified using the exception stack trace below.
|
[ArgumentException: Unterminated string passed in. (61): {"ID":30,"ColumnUniqueName":"AttachmentColumn","FileName":"G:] System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeString() +543643 System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal(Int32 depth) +233 System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeDictionary(Int32 depth) +422 System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal(Int32 depth) +147 System.Web.Script.Serialization.JavaScriptObjectDeserializer.BasicDeserialize(String input, Int32 depthLimit, JavaScriptSerializer serializer) +51 System.Web.Script.Serialization.JavaScriptSerializer.Deserialize(JavaScriptSerializer serializer, String input, Type type, Int32 depthLimit) +37 System.Web.Script.Serialization.JavaScriptSerializer.Deserialize(String input) +70 Telerik.Web.UI.GridCommandEventArgsFactory.CreateGridCommandEventArgs(GridItem item, Object commandSource, CommandEventArgs originalArgs) +676 Telerik.Web.UI.GridItem.OnBubbleEvent(Object source, EventArgs e) +105 Telerik.Web.UI.GridItem.FireCommandEvent(String commandName, Object commandArgument) +46 Telerik.Web.UI.RadGrid.RaisePostBackEvent(String eventArgument) +8614 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +175 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565 |