public partial class Questions : System.Web.UI.Page |
{ |
protected void Page_Load(object sender, EventArgs e) |
{ |
if (Session["UserName"] != null) |
{ |
if (!Page.IsPostBack) |
{ |
userNameLabel.Text = Session["UserName"].ToString(); |
questionsRadGrid.AutoGenerateColumns = false; |
questionsRadGrid.MasterTableView.DataKeyNames = new string[] { "Id", "TagName" }; |
GridBoundColumn subjectColumn = new GridBoundColumn(); |
questionsRadGrid.MasterTableView.Columns.Add(subjectColumn); |
subjectColumn.DataField = "Subject"; |
subjectColumn.HeaderText = "Subject"; |
subjectColumn.UniqueName = "Subject"; |
GridBoundColumn descriptionColumn = new GridBoundColumn(); |
questionsRadGrid.MasterTableView.Columns.Add(descriptionColumn); |
descriptionColumn.DataField = "Description"; |
descriptionColumn.HeaderText = "Description"; |
descriptionColumn.UniqueName = "Description"; |
GridBoundColumn createDateTimeColumn = new GridBoundColumn(); |
questionsRadGrid.MasterTableView.Columns.Add(createDateTimeColumn); |
createDateTimeColumn.DataField = "CreateDateTime"; |
createDateTimeColumn.HeaderText = "Created Date Time"; |
createDateTimeColumn.UniqueName = "CreateDateTime"; |
GridBoundColumn userNameColumn = new GridBoundColumn(); |
questionsRadGrid.MasterTableView.Columns.Add(userNameColumn); |
userNameColumn.DataField = "UserName"; |
userNameColumn.HeaderText = "User Name"; |
userNameColumn.UniqueName = "UserName"; |
GridBoundColumn tagNameColumn = new GridBoundColumn(); |
questionsRadGrid.MasterTableView.Columns.Add(tagNameColumn); |
tagNameColumn.DataField = "TagName"; |
tagNameColumn.HeaderText = "Tag Name"; |
tagNameColumn.UniqueName = "TagName"; |
GridBoundColumn idColumn = new GridBoundColumn(); |
questionsRadGrid.MasterTableView.Columns.Add(idColumn); |
idColumn.DataField = "Id"; |
idColumn.HeaderText = "Id"; |
idColumn.UniqueName = "Id"; |
//Create the detail table |
GridTableView gridTableView = new GridTableView(questionsRadGrid); |
questionsRadGrid.MasterTableView.DetailTables.Add(gridTableView); |
GridRelationFields gridRelationFields = new GridRelationFields(); |
gridTableView.ParentTableRelation.Add(gridRelationFields); |
gridRelationFields.MasterKeyField = "Id"; |
gridTableView.AutoGenerateColumns = false; |
GridBoundColumn answerColumn = new GridBoundColumn(); |
gridTableView.Columns.Add(answerColumn); |
answerColumn.DataField = "Description"; |
answerColumn.HeaderText = "Answer"; |
answerColumn.UniqueName = "Answer"; |
GridBoundColumn createdDateTimeColumn = new GridBoundColumn(); |
gridTableView.Columns.Add(createdDateTimeColumn); |
createdDateTimeColumn.DataField = "CreatedDateTime"; |
createdDateTimeColumn.HeaderText = "Created DateTime"; |
createdDateTimeColumn.UniqueName = "CreatedDateTime"; |
GridBoundColumn userNameColumn1 = new GridBoundColumn(); |
gridTableView.Columns.Add(userNameColumn1); |
userNameColumn1.DataField = "UserName"; |
userNameColumn1.HeaderText = "User Name"; |
userNameColumn1.UniqueName = "UserName"; |
GridBoundColumn questionIdColumn = new GridBoundColumn(); |
gridTableView.Columns.Add(questionIdColumn); |
questionIdColumn.DataField = "QuestionId"; |
questionIdColumn.HeaderText = "Question Id"; |
questionIdColumn.UniqueName = "QuestionId"; |
GridBoundColumn tagColumn = new GridBoundColumn(); |
gridTableView.Columns.Add(tagColumn); |
tagColumn.DataField = "TagName"; |
tagColumn.HeaderText = "Tag Name"; |
tagColumn.UniqueName = "TagName"; |
} |
} |
else |
{ |
Response.Redirect("Login.aspx"); |
} |
} |
protected void exportButton_Click(object sender, EventArgs e) |
{ |
questionsRadGrid.ExportSettings.OpenInNewWindow = true; |
questionsRadGrid.ExportSettings.FileName = "Export"; |
questionsRadGrid.MasterTableView.ExportToExcel(); |
} |
protected void questionsRadGrid_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e) |
{ |
if (!e.IsFromDetailTable) |
{ |
HttpClient client = new HttpClient(); |
HttpResponseMessage response = client.Get(new Uri("http://localhost/QuestionService/Service.svc/")); |
response.Content.LoadIntoBuffer(); |
QuestionCollection questionCollection = response.Content.ReadAsXmlSerializable<QuestionCollection>(); |
questionsRadGrid.DataSource = questionCollection; |
} |
} |
protected void questionsRadGrid_DetailTableDataBind(object source, Telerik.Web.UI.GridDetailTableDataBindEventArgs e) |
{ |
GridDataItem dataItem = (GridDataItem)e.DetailTableView.ParentItem; |
string questionId = dataItem.GetDataKeyValue("Id").ToString(); |
string tagName = dataItem.GetDataKeyValue("TagName").ToString(); |
HttpClient client1 = new HttpClient(); |
HttpResponseMessage response1 = client1.Get(new Uri("http://localhost/AnswerService/Service.svc/" + questionId)); |
response1.Content.LoadIntoBuffer(); |
AnswerCollection answerCollection = response1.Content.ReadAsXmlSerializable<AnswerCollection>(); |
foreach (Answer answer in answerCollection) |
{ |
answer.TagName = tagName; |
answer.QuestionId = questionId; |
} |
e.DetailTableView.DataSource = answerCollection; |
} |
} |
"Microsoft JScript runtime error: Sys.WebForms.PageRequestManagerServerErrorException: Syntax error: Missing operand before '=' operator."
Please help me overcome this error. The corresponding .aspx file is as follows
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Questions.aspx.cs" Inherits="DiscussionForumTelerikUI.Questions" EnableEventValidation="false" %> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml" > |
<head runat="server"> |
<script language="javascript" type="text/javascript" > |
function RowClick(sender, eventArgs) { |
<!--alert("Index of clicked row is " + eventArgs.get_itemIndexHierarchical());--> |
var grid = sender; |
var MasterTable = grid.get_masterTableView(); |
var row = MasterTable.get_dataItems()[eventArgs.get_itemIndexHierarchical()]; |
var idCell = MasterTable.getCellByColumnUniqueName(row, "Id"); |
var tagCell = MasterTable.getCellByColumnUniqueName(row, "TagName"); |
var id = idCell.innerHTML; |
var tag = tagCell.innerHTML; |
window.location = "Answers.aspx?id=" + id + "&" + "tag=" + tag; |
} |
</script> |
<title>Questions</title> |
<style type="text/css"> |
.style1 |
{ |
color: #FF3300; |
} |
.style2 |
{ |
color: #CC6600; |
font-family: Calibri; |
} |
.style3 |
{ |
font-family: Calibri; |
} |
</style> |
</head> |
<body style="background-color: #CCFF99"> |
<form id="form1" runat="server"> |
<div> |
<h1 class="style1"> |
<telerik:RadScriptManager ID="RadScriptManager1" Runat="server"> |
</telerik:RadScriptManager> |
</h1> |
<h1 class="style1"> |
<span class="style3">Welcome</span> |
<asp:Label ID="userNameLabel" runat="server" Font-Names="Calibri"></asp:Label> |
|
<span class="style3"> |
<a href="AddQuestion.aspx">Click here to post your question</a> <a |
href="Login.aspx">Logout</a></span></h1> |
<h1 class="style2"> |
Click on a question to view its answers</h1> |
</div> |
<telerik:RadGrid ID="questionsRadGrid" runat="server" AllowPaging="True" |
AllowSorting="True" GridLines="None" Skin="Telerik" PageSize="50" |
Font-Names="Calibri" Font-Size="Large" OnDetailTableDataBind="questionsRadGrid_DetailTableDataBind" OnNeedDataSource="questionsRadGrid_NeedDataSource"> |
<ClientSettings AllowColumnsReorder="True"> |
<ClientEvents OnRowClick="RowClick" /> |
<Selecting AllowRowSelect="True" /> |
</ClientSettings> |
</telerik:RadGrid> |
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> |
<AjaxSettings> |
<telerik:AjaxSetting AjaxControlID="questionsRadGrid"> |
<UpdatedControls> |
<telerik:AjaxUpdatedControl ControlID="questionsRadGrid" /> |
</UpdatedControls> |
</telerik:AjaxSetting> |
</AjaxSettings> |
</telerik:RadAjaxManager> |
<asp:Button ID="exportButton" runat="server" Font-Names="Calibri" |
onclick="exportButton_Click" Text="Export to Excel" /> |
</form> |
</body> |
</html> |
Thanks
Satyaprakash J