PDA

View Full Version : کمک در حل مشکل RADIOBUTTON



asrah6
یک شنبه 30 تیر 1392, 13:50 عصر
لطفا ببینید مشکل این کد چیست ؟ من که موندم توش . آخر هر کاری می کنم پیام می دهد
CreateQuestion.ASPX

<%@ Page Language="C#‎‎" AutoEventWireup="true" CodeFile="CreateQuestion.aspx.cs" Inherits="CreateQuestion" %>

<!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">
<title>::Question Creation::</title>
<link href="StyleSheets/Quiz.css" type="text/css" rel="stylesheet"/>
<script language="javascript" src="JavaScriptFiles/Quiz_JS.js" type="text/javascript"></script>

<script language="javascript" type="text/javascript">
function Validations()
{
var sQsnDesc = document.getElementById("txtQsnDesc").value.replace(/^\s+|\s+$/g,"");

if(sQsnDesc == "")
{
alert('Please enter Question description.');
document.getElementById("txtQsnDesc").focus();
document.getElementById("txtQsnDesc").value = "";
return false;
}
if(document.getElementById("ddlOptions").selectedIndex == 0)
{
alert('Please select No. of Options.');
document.getElementById("ddlOptions").focus();
return false;
}
bFlag = sValidate(document.forms[0]);
if(bFlag)
{
blFlag = sValidText(document.forms[0]);
if(!blFlag)
{
return false;
}
}
else if(!bFlag)
{
return false;
}
var delstart="false";
var elem=document.getElementById("form1").elements;
for(var i=0; i< elem.length;i++)
{
if(elem[i].type=="radio")
{
if(elem[i].status==true)
{
delstart="true";
}
}
}
if(delstart=="false")
{
alert('Select at least one option.');
return false;
}
if(document.getElementById("txtMarks").value == "")
{
alert('Please enter the Marks.');
document.getElementById("txtMarks").focus();
return false;
}
if(parseInt(document.getElementById("txtMarks").value,10) == 0)
{
alert('Please enter the Valid Marks.');
document.getElementById("txtMarks").focus();
return false;
}
else
{
return true;
}
}

function ChkDel()
{
vCnfrm = confirm('Are you sure want to delete the question.');
if(vCnfrm)
{
return true;
}
else
{
return false;
}
}

function sValidText(iFrm)
{
var bFlg = '1';
var myArray = new Array();

for (i=0;i<iFrm.length;i++)
{
if ((iFrm.elements[i].type == "text"))
{
if(iFrm.elements[i].id.indexOf("_") != -1)
{
var vSpltId = iFrm.elements[i].id.split("_");
if(vSpltId[0] == "GrdOptions")
{
if(myArray.length == 0)
{
myArray.push(iFrm.elements[i].value);
}
else if(myArray.length>0)
{
var vBlFlg = '0';
for(j=0;j<myArray.length;j++)
{
if(myArray[j].toUpperCase() == iFrm.elements[i].value.toUpperCase())
{
vBlFlg = '1';
bFlg = '0';
break;
}
}
if(vBlFlg == "0")
{
myArray.push(iFrm.elements[i].value);
}
}
}
}
}
}
if(bFlg == '0')
{
alert('Question options are similar. Kindly change it.');
return false;
}
else
{
return true;
}
}

function sValidate(iFrm)
{
var bFlg = '1';
for (i=0;i<iFrm.length;i++)
{
if ((iFrm.elements[i].type == "text"))
{
if(iFrm.elements[i].id.indexOf("_") != -1)
{
var vSpltId = iFrm.elements[i].id.split("_");
if(vSpltId[0] == "GrdOptions")
{
if (iFrm.elements[i].value.replace(/^\s+|\s+$/g,"") == "")
{
bFlg = '0';
iFrm.elements[i].focus();
break;
}
}
}
}
}
if(bFlg == '0')
{
alert('All Options Must be Filled with Text.');
return false;
}
else
{
return true;
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<table align="center" width="60%">
<tr>
<td>
<fieldset style="width:98%" class="MainFrmStyle">
<legend class="LegendLabel">Create Question</legend>

<table width="98%">
<tr class="TableEvenRow">
<td align="left">Question Description:
</td>
<td align="left">
<asp:TextBox id="txtQsnDesc" CssClass="Text" Width="317px" runat="server"
MaxLength="1000" TextMode="MultiLine" Height="47px"></asp:TextBox>
</td>
</tr>
<tr class="TableOddRow">
<td align="left">No. Of Options:
</td>
<td align="left">
<asp:DropDownList ID="ddlOptions" CssClass="Text" Width="90" runat="server"
AutoPostBack="True" onselectedindexchanged="ddlOptions_SelectedIndexChanged">
<asp:ListItem Selected="True">Select</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
<asp:ListItem>4</asp:ListItem>
<asp:ListItem>5</asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr class="TableEvenRow">
<td align="left">
</td>
<td align="left">
<asp:GridView ID="GrdOptions" runat="server" AutoGenerateColumns="False" Width="212px" >
<RowStyle CssClass="GridRowStyle" />
<AlternatingRowStyle CssClass="GridAlternateRowStyle" />
<Columns>
<asp:BoundField DataField="HeaderTt" HeaderText="SNo" >
<HeaderStyle Font-Bold="False" />
</asp:BoundField>
<asp:TemplateField HeaderText="Option" HeaderStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:TextBox ID="txtText" runat="server" MaxLength="500" CssClass="Text" Width="250px"></asp:TextBox>
</ItemTemplate>
<HeaderStyle Font-Bold="False" />
</asp:TemplateField>
</Columns>
<HeaderStyle Font-Bold="False" />
</asp:GridView>
</td>
</tr>
<tr class="TableOddRow" id="trOptAns" runat="server">
<td align="left">Choose the Correct Answer:
</td>
<td align="left">
<asp:RadioButton ID="rbtnOpt1" runat="server" CssClass="Label" Text="Option 1" GroupName="OptAns" />
<asp:RadioButton ID="rbtnOpt2" runat="server" CssClass="Label" Text="Option 2" GroupName="OptAns" />
<asp:RadioButton ID="rbtnOpt3" runat="server" CssClass="Label" Text="Option 3" GroupName="OptAns" />
<asp:RadioButton ID="rbtnOpt4" runat="server" CssClass="Label" Text="Option 4" GroupName="OptAns" />
<asp:RadioButton ID="rbtnOpt5" runat="server" CssClass="Label" Text="Option 5" GroupName="OptAns" />
</td>
</tr>
<tr class="TableEvenRow">
<td align="left">Marks:
</td>
<td align="left">
<asp:TextBox id="txtMarks" CssClass="Text" Width="50px" runat="server"
MaxLength="3"></asp:TextBox>
</td>
</tr>
<tr align="center">
<td colspan="2">
<asp:Button ID="btnSubmit" Text="Submit" Width="65px" CssClass="ButtonNew"
runat="server" onclick="btnSubmit_Click" /> &nbsp;
<asp:Button ID="btnReset" Text="Reset" Width="65px" CssClass="ButtonNew"
runat="server" onclick="btnReset_Click" /> &nbsp;
<asp:Button ID="btnCancel" Text="Cancel" Width="65px" CssClass="ButtonNew"
runat="server" onclick="btnCancel_Click" />
</td>
</tr>
<tr>
<td colspan="2">
<div align="center">
<fieldset style="width:98%" class="MainFrmStyle">
<legend class="LegendLabel">Questions Details</legend>
<table width="100%">
<tr>
<td>
<div id="DivReapetor" style="overflow: auto; width: 98%; height: 250px">
<asp:GridView ID="GrdQuestions" AutoGenerateColumns="false" runat="server"
DataKeyNames="QuestionId" Width="698px"
onrowcommand="GrdQuestions_RowCommand" onrowediting="GrdQuestions_RowEditing"
onrowdatabound="GrdQuestions_RowDataBound" onrowdeleting="GrdQuestions_RowDeleting">
<HeaderStyle HorizontalAlign="Left" CssClass="GridHeader" />
<RowStyle CssClass="GridRowStyle" HorizontalAlign="Left" />
<AlternatingRowStyle CssClass="GridAlternateRowStyle" />
<Columns>
<asp:TemplateField HeaderText="Edit">
<ItemStyle HorizontalAlign="Center" Width="50px"></ItemStyle>
<ItemTemplate>
<asp:ImageButton ID="ImgBtnEdit" ImageUrl="~/Images/Edit.gif" CommandName="Edit" CommandArgument='<%# Container.DataItemIndex %>' runat="server"/>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Delete">
<ItemStyle HorizontalAlign="Center" Width="50px"></ItemStyle>
<ItemTemplate>
<asp:ImageButton ID="ImgBtnDelete" ImageUrl="~/Images/Delete.gif" CommandName="Delete" CommandArgument='<%# Container.DataItemIndex %>' runat="server"/>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Preview">
<ItemStyle HorizontalAlign="Center" Width="50px"></ItemStyle>
<ItemTemplate>
<asp:ImageButton ID="ImgBtnPreview" ImageUrl="~/Images/Preview.jpg" CommandName="Preview" CommandArgument='<%# Container.DataItemIndex %>' runat="server"/>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="QuestionId" HeaderText="QuestionId" Visible="false"/>
<asp:BoundField DataField="QsnDesc" HeaderText="Question" />
<asp:ButtonField DataTextField="NoOfOptions" HeaderText="Options" CommandName="Options" Visible="false" />
<asp:BoundField DataField="CorrectOption" HeaderText="Correct Option" Visible="false"/>
<asp:BoundField DataField="Marks" HeaderText="Marks" />
</Columns>
</asp:GridView>
<asp:Label ID="lblMessage" runat="server" CssClass="Text" ForeColor="Red" Text="No Questions has been created."></asp:Label>
</div>
</td>
</tr>
</table>
</fieldset>
</div>
</td>
</tr>
</table>
</fieldset>
</td>
</tr>
</table>
</form>
</body>
</html>

asrah6
یک شنبه 30 تیر 1392, 14:04 عصر
این هم فایل CS

CreateQuestion.aspx.cs




using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

public partial class CreateQuestion : System.Web.UI.Page
{
string sCon = ConfigurationManager.ConnectionStrings["Con"].ToString();
static string sQuestionIdUpd;
protected void Page_Load(object sender, EventArgs e)
{
btnSubmit.Attributes.Add("onclick", "return Validations();");

txtMarks.Attributes.Add("onkeypress", "return EnableKeys(2)");

if (!Page.IsPostBack)
{
trOptAns.Visible = false;

lblMessage.Visible = false;
BindQuestionsDetails();
}
}
private void BindQuestionsDetails()
{
DataSet ds = SqlHelper.ExecuteDataset(sCon, "PS_Quiz_QsnCreation_Details");

if (ds.Tables.Count > 0)
{
if (ds.Tables[0].Rows.Count > 0)
{
GrdQuestions.DataSource = ds.Tables[0];
GrdQuestions.DataBind();
GrdQuestions.Visible = true;
lblMessage.Visible = false;
}
else
{
lblMessage.Visible = true;
GrdQuestions.Visible = false;
}
}
else
{
lblMessage.Visible = true;
GrdQuestions.Visible = false;
}
}
protected void btnReset_Click(object sender, EventArgs e)
{
Server.Transfer("CreateQuestion.aspx");
}
protected void btnCancel_Click(object sender, EventArgs e)
{
Server.Transfer("Blank.aspx");
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
string sQsnDesc = "", sCorrectOptn = "", sOptns = "", stxtOption = "", sResult = "";

sQsnDesc = txtQsnDesc.Text.ToString().Trim().Replace("\r\n", "<br>");

if (btnSubmit.Text == "Submit")
{
sOptns = ddlOptions.SelectedValue.ToString().Trim();

if (rbtnOpt1.Checked == true)
{
sCorrectOptn = "Option1";
}
else if (rbtnOpt2.Checked == true)
{
sCorrectOptn = "Option2";
}
else if (rbtnOpt3.Checked == true)
{
sCorrectOptn = "Option3";
}
else if (rbtnOpt4.Checked == true)
{
sCorrectOptn = "Option4";
}
else if (rbtnOpt5.Checked == true)
{
sCorrectOptn = "Option5";
}

sResult = SqlHelper.ExecuteNonQueryOutput(sCon, "PS_Quiz_QsnCreationMaster_Insert", sQsnDesc, sOptns, sCorrectOptn, txtMarks.Text, Session["LogInId"].ToString(), null);

if ((sResult != "Error") && (sResult != "Duplicate"))
{
string[] sDResult = sResult.Split('~');

if (sDResult[1].Equals("Inserted"))
{
for (int i = 0; i < GrdOptions.Rows.Count; i++)
{
stxtOption = ((TextBox)GrdOptions.Rows[i].FindControl("txtText")).Text.ToString().Trim();
SqlHelper.ExecuteNonQuery(sCon, "PS_Quiz_QsnCreationDetail_Insert", sDResult[0].ToString(), (i + 1), stxtOption, "Admin");
}
ScriptManager.RegisterStartupScript(this, typeof(string), "Message", "alert('Question created successfully.');location.href='CreateQuestion.aspx ';", true);
}
}
else if (sResult == "Duplicate")
{
ScriptManager.RegisterStartupScript(this, typeof(string), "Message", "alert('Question already exists.');", true);
return;
}
else if (sResult == "Error")
{
ScriptManager.RegisterStartupScript(this, typeof(string), "Message", "alert('Error while creating Question.');", true);
return;
}
}
else if (btnSubmit.Text.Equals("Update"))
{
if (rbtnOpt1.Checked == true)
{
sCorrectOptn = "Option1";
}
else if (rbtnOpt2.Checked == true)
{
sCorrectOptn = "Option2";
}
else if (rbtnOpt3.Checked == true)
{
sCorrectOptn = "Option3";
}
else if (rbtnOpt4.Checked == true)
{
sCorrectOptn = "Option4";
}
else if (rbtnOpt5.Checked == true)
{
sCorrectOptn = "Option5";
}

sResult = SqlHelper.ExecuteNonQueryOutput(sCon, "PS_Quiz_QsnCreationMaster_Update", sQuestionIdUpd, sQsnDesc, sCorrectOptn, txtMarks.Text, Session["LogInId"].ToString(), null);

if (sResult.Equals("Inserted"))
{
for (int i = 0; i < GrdOptions.Rows.Count; i++)
{
stxtOption = ((TextBox)GrdOptions.Rows[i].FindControl("txtText")).Text.ToString().Trim();

SqlHelper.ExecuteNonQuery(sCon, "PS_Quiz_QsnCreationDetailUpdate", sQuestionIdUpd, stxtOption, (i + 1));
}

ScriptManager.RegisterStartupScript(this, typeof(string), "Message", "alert('Question updated successfully.');location.href='CreateQuestion.aspx ';", true);
}
else if (sResult == "Duplicate")
{
ScriptManager.RegisterStartupScript(this, typeof(string), "Message", "alert('Question already exists.');", true);
return;
}
else if (sResult == "Error")
{
ScriptManager.RegisterStartupScript(this, typeof(string), "Message", "alert('Error while creating Question.');", true);
return;
}
}
}
protected void ddlOptions_SelectedIndexChanged(object sender, EventArgs e)
{
DataTable dtTxt = new DataTable();
DataRow dRow = null;

dtTxt.Columns.Add("HeaderTt");

int iCounter = 0;
if (ddlOptions.SelectedIndex > 0)
{
iCounter = Convert.ToInt32(ddlOptions.SelectedValue);
}

for (int iTxt = 0; iTxt < iCounter; iTxt++)
{
dRow = dtTxt.NewRow();
dRow[0] = (iTxt + 1).ToString();
dtTxt.Rows.Add(dRow);
}

GrdOptions.DataSource = dtTxt;
GrdOptions.DataBind();

if (ddlOptions.SelectedIndex > 0)
{
trOptAns.Visible = true;
if (ddlOptions.SelectedIndex == 2)
{
rbtnOpt3.Visible = true;
rbtnOpt4.Visible = false;
rbtnOpt5.Visible = false;
}
else if (ddlOptions.SelectedIndex == 3)
{
rbtnOpt3.Visible = true;
rbtnOpt4.Visible = true;
rbtnOpt5.Visible = false;
}
else if (ddlOptions.SelectedIndex == 4)
{
rbtnOpt3.Visible = true;
rbtnOpt4.Visible = true;
rbtnOpt5.Visible = true;
}
else
{
rbtnOpt3.Visible = false;
rbtnOpt4.Visible = false;
rbtnOpt5.Visible = false;
}
}
else
{
trOptAns.Visible = false;
}
}
protected void GrdQuestions_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName.Equals("Edit"))
{
int iRowIndex = Convert.ToInt32(e.CommandArgument);

GridViewRow gRow = GrdQuestions.Rows[iRowIndex];
string sQuestionId = GrdQuestions.DataKeys[iRowIndex].Values["QuestionId"].ToString();
sQuestionIdUpd = sQuestionId;
string sResult = SqlHelper.ExecuteNonQueryOutput(sCon, "Ps_Quiz_CheckQsnStatus", sQuestionId, null);

if (sResult == "DontUpdates")
{
Response.Write("<script language='javascript'>alert('Question that you are trying to update is already used.');</script>");
return;
}
else
{
btnSubmit.Text = "Update";
ddlOptions.Enabled = false;

DataSet oDs = SqlHelper.ExecuteDataset(sCon, "PS_Quiz_GetQsnOptions", sQuestionId);

if (oDs.Tables.Count > 0)
{
if (oDs.Tables[0].Rows.Count > 0)
{
ddlOptions.SelectedValue = oDs.Tables[0].Rows[0][1].ToString();
txtQsnDesc.Text = oDs.Tables[0].Rows[0][0].ToString();
txtMarks.Text = oDs.Tables[0].Rows[0][3].ToString();

if (ddlOptions.SelectedIndex > 0)
{
trOptAns.Visible = true;
if (ddlOptions.SelectedIndex == 2)
{
rbtnOpt3.Visible = true;
rbtnOpt4.Visible = false;
rbtnOpt5.Visible = false;
}
else if (ddlOptions.SelectedIndex == 3)
{
rbtnOpt3.Visible = true;
rbtnOpt4.Visible = true;
rbtnOpt5.Visible = false;
}
else if (ddlOptions.SelectedIndex == 4)
{
rbtnOpt3.Visible = true;
rbtnOpt4.Visible = true;
rbtnOpt5.Visible = true;
}
else
{
rbtnOpt3.Visible = false;
rbtnOpt4.Visible = false;
rbtnOpt5.Visible = false;
}
}
else
{
trOptAns.Visible = false;
}

if (oDs.Tables[0].Rows[0][2].ToString() == "Option1")
{ rbtnOpt1.Checked = true; }
else if (oDs.Tables[0].Rows[0][2].ToString() == "Option2")
{ rbtnOpt2.Checked = true; }
else if (oDs.Tables[0].Rows[0][2].ToString() == "Option3")
{ rbtnOpt3.Checked = true; }
else if (oDs.Tables[0].Rows[0][2].ToString() == "Option4")
{ rbtnOpt4.Checked = true; }
else if (oDs.Tables[0].Rows[0][2].ToString() == "Option5")
{ rbtnOpt5.Checked = true; }

DataTable dtTxt = new DataTable();
DataRow dRow = null;

dtTxt.Columns.Add("HeaderTt");


int iCounter = 0;
if (ddlOptions.SelectedIndex > 0)
{
iCounter = Convert.ToInt32(ddlOptions.SelectedValue);
}

for (int iTxt = 0; iTxt < iCounter; iTxt++)
{
dRow = dtTxt.NewRow();
dRow[0] = (iTxt + 1).ToString();
dtTxt.Rows.Add(dRow);
}

GrdOptions.DataSource = dtTxt;
GrdOptions.DataBind();

for (int i = 0; i < oDs.Tables[0].Rows.Count; i++)
{
for (int j = 0; j < GrdOptions.Rows.Count; j++)
{
if (i == j)
{
GridViewRow GrRow = GrdOptions.Rows[j];
TextBox txtStgDesc = (TextBox)GrRow.FindControl("txtText");

txtStgDesc.Text = oDs.Tables[0].Rows[i][4].ToString();
break;
}
else
{
continue;
}
}
}
}
}
}
}
else if (e.CommandName == "Delete")
{
int iRowIndex = Convert.ToInt32(e.CommandArgument);

GridViewRow gRow = GrdQuestions.Rows[iRowIndex];
string sQuestionId = GrdQuestions.DataKeys[iRowIndex].Values["QuestionId"].ToString();

string sResult = SqlHelper.ExecuteNonQueryOutput(sCon, "Ps_Quiz_CheckQsnStatus_Del", sQuestionId, null);

if (sResult == "DontUpdates")
{
Response.Write("<script language='javascript'>alert('Question that you are trying to delete is already used.');</script>");
return;
}
else
{
string sOutput = SqlHelper.ExecuteNonQueryOutput(sCon, "Ps_Quiz_DeleteQsn", sQuestionId, Session["LoginId"].ToString(), null);

if (sOutput == "Success")
{
Response.Write("<script language='javascript'>alert('Question has been successfully deleted.');location.href='wFM_Question.aspx';</script>");
}
else
{
Response.Write("<script language='javascript'>alert('Error while deleting Question.');</script>");
return;
}
}
}
else if (e.CommandName == "Preview")
{
int iRowIndex = Convert.ToInt32(e.CommandArgument);

GridViewRow gRow = GrdQuestions.Rows[iRowIndex];
string sQuestionId = GrdQuestions.DataKeys[iRowIndex].Values["QuestionId"].ToString();

Response.Write("<script language='javascript'>window.open('ViewQuestionPreview.aspx?QsnId=" + sQuestionId + "','Preview','width=600,height=300,top=100,left=100 ,scrollbars=yes');</script>");
}
}
protected void GrdQuestions_RowDeleting(object sender, GridViewDeleteEventArgs e)
{

}
protected void GrdQuestions_RowEditing(object sender, GridViewEditEventArgs e)
{

}
protected void GrdQuestions_RowDataBound(object sender, GridViewRowEventArgs e)
{
e.Row.Cells[1].Attributes.Add("onclick", "return ChkDel()");
}
}

parvizwpf
یک شنبه 30 تیر 1392, 14:18 عصر
همه چی رو نوشتید ال اون پیام خطا. کجا اتفاق میافته چی میگه؟

asrah6
یک شنبه 30 تیر 1392, 17:19 عصر
سلام لطفا درصورت امکان این دو فایل را در vs باز کن به من خطای Select at least one option می دهد مثل اینکه انتخاب رادیو باتن ها را ایراد می گیرد.

Progman.ir
یک شنبه 30 تیر 1392, 19:04 عصر
ابالفضل.تاحالا این همه کد یه جا ندیده بودم.داداش مصل اینکه با روال سوال پرسیدن آشنا نیستی؟!!! اینجوری سوال بپرسی کسی جوابتو نمیده

parvizwpf
یک شنبه 30 تیر 1392, 19:14 عصر
لطفا دقیق تر بگید کدوم خط ارور وجود داره؟ و متن پیغام کاملش رو بگید. تا بتونیم جاپواب بهتری داشت باشیم.

asrah6
دوشنبه 31 تیر 1392, 22:25 عصر
انگار همه را روزه برده است
کسی نیست بتونه کمک کند

amirsajjadi
سه شنبه 01 مرداد 1392, 02:24 صبح
اون جاهایی که اسم تکس باکس ها رو نوشتی به این صورت بنویس
مثلا


document.getElementById("txtQsnDesc").value = "";


به اینصورت تغییر بده



document.getElementById("<%= txtQsnDesc.ClientID %>").value = "";


دلیلشم اینه که نامهایی که توی asp.net برای کنترلها قرار میدید به یک شکل دیگه به سمت کلاینت فرستاده میشه و برای اینکه به اون شکل سمت کلاینت دسترسی داشته باشید میتونید از CLientID مربوط به کنترل استفاده کنید.