PDA

View Full Version : سوال: نحوه ساخت سیستم نظرسنجی مثل سایت alef.ir



farzad3333
دوشنبه 28 فروردین 1391, 18:20 عصر
سلام دوستان
من می خوام یه سیستم نظرسنجی مثل این صفحه درست کنم

http://alef.ir/vdcg7z9qqak9nt4.rpra.html?150481

من فیلدهام و جدولم رو تنظیم کردم فقط مشکل من در ساخت ظاهر اونه یعنی اول پاسخ بیننده درج بشه و سپس یک عدد لینک (پاسخ به این نظر) در قسمت پایین اون قرار بگیره و با زدن لینک پاسخ پنجره ای نمایان بشه و بعد از تایید پاسخ من درون کادری بصورت رنگ متفاوتی در ادامه ی نظر بیننده نمایش داده بشه
اگه ممکنه کل کد GridView اون رو بذارید واقعا ممنون می شم

hamid_shrk
دوشنبه 28 فروردین 1391, 20:05 عصر
دوست عزیز تو لینکتون من نظرسنجی ندیدم اما اینکه میخواید اینکار بصورت مرحله ای انجام بشه (اونجور که من متوجه شدم) شما باید از multiview استفاده کنید

farzad3333
دوشنبه 28 فروردین 1391, 20:30 عصر
خیلی ممنون میشه یه مثالی بزنید

hamid_shrk
دوشنبه 28 فروردین 1391, 20:37 عصر
دوست عزیز الان متوجه شدم منظورتون چیه ، چیزی که میخواید نظرسنجی نمیگن بهش !!!
شما باید از repeater بصورت تو در تو استفاده کنید که سرچ کنید نمونه اش زیاده تو این سایت..

farzad3333
سه شنبه 29 فروردین 1391, 16:18 عصر
با تشکر
من متوجه شدم با کنترل GridView نیز می توان هچین کار مشابهی رو انجام داد فقط به یه مشکل دیگه برخوردم
کد GridView من بصورت زیر هستش:
<asp:GridView ID="myGrid" runat="server" GridLines="Both" CssClass="datatable"
DataSourceID="SqlDataSource_CommentsArticleList" AutoGenerateColumns="false" Width="100%">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<table width="100%" border="0">
<tr>

<td width="10px"></td>
<td width="30%"><span>فرستنده:</span> <%# Eval("AddedBy")%></td>
<td></td>
<td width="30%"><span>تاریخ و ساعت :</span> <%# SDKClass.GetFarsiDate(Eval("AddedDate", "{0:D}"), true)%></td>
<td width="10px"></td>
</tr>
<tr>
<td></td>
<td colspan="3">
<span>متن کامل :</span> <%# Eval("Body")%>
</td>
<td></td>
</tr>
<tr>
<td></td>
<td colspan="2"><span>ایمیل :</span> <%# Eval("AddedByEmail")%></td>
<td><span><span class="highlight">نظرات</span> :</span> <asp:Button ID="ClientButton" runat="server" Text="پاسخ" />
<asp:Panel ID="ModalPanel" runat="server" Width="500px" CssClass="modalPopup">
<table Width="98%">
<tr>
<td style="width:40px"><b>شماره :</b></td>
<td>
<asp:Label runat="server" id="editCustomerID" />
<%# Eval("CommentID")%>
</td>
</tr>
<tr>
<td><b>پاسخ :</b></td>
<td>
<asp:TextBox ID="TextBox2" runat="server" CssClass="TextBox"
Height="74px" TextMode="MultiLine" Width="100%"></asp:TextBox></td>
</tr>
</table>
<asp:Button ID="OKButton" runat="server" Width="60px" Text="انصراف" />

<asp:Button ID="Answer" OnClick="Answer_Click" CommandName="Answ"
CommandArgument='<%# Eval("CommentID")%>' runat="server" Width="60px"
Text="تایید" />
<asp:Label ID="msg" runat="server" Text="message" Visible="false"/>
</asp:Panel>
<Ajax:ModalPopupExtender ID="mpe" runat="server" TargetControlId="ClientButton"
PopupControlID="ModalPanel" OkControlID="OKButton" BackgroundCssClass="ModalPopupBG" />
</td>
<td></td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
و من در رویداد دکمه برای در اختیار گرفتن مقدار متن کنترل TextBox2 این کد رو نوشتم
protected void Answer_Click(object sender, EventArgs e)
{
string ss = "";

foreach (TextBox txt in getCtls(myGrid).OfType<TextBox>())
{
if (txt.ID == "TextBox2")
ss = txt.ID + txt.Text;
}
{
مشکل اینجاست که من نمی تونم به خاصیت Text کنترل TextBox2 دسترسی داشته باشم اما اگه در همون اول TextBox2 رو به این صورت تعریف کنم که متن اون رو در موقع تعریفش بطور پیش فرض بدم مشکلی نداره و متن اون رو نمایش میده
<asp:TextBox ID="TextBox2" Text="مهدی" runat="server" CssClass="TextBox"
Height="74px" TextMode="MultiLine" Width="100%"></asp:TextBox>
ولی اگه در موقع Run مقداری به TextBox2 بدم و دکمه رو بزنم نشون نمی ده اگه یه راهنماییم کنید ممنون می شم