View Full Version : سوال: کار نکردن کنترل asp.net در داخل دیالوگ jquery
amin4763
پنج شنبه 19 دی 1392, 15:46 عصر
با سلام خدمت اساتید؛یه مشکلی برخوردم اونم اینکه با jquery UI یه دیالوگ دارم که با کلیک روی یک دکمه جی کوئری ظاهر می شه و من توی این دیالوگ عملیات لاگین رو انجام می دم مشکل اینجاس که وقتی این دیالوگ ظاهر می شه متاسفانه دکمه ی asp که داخل این دیالوگ هست کار نمی کنه یعنی وقتی کلیک می کنی هیچ عملی انجام نمیشه و انگار هیچ کاری نمی کنی؛ممنون می شم راهنماییم کنین که چیکار باید بکنم؟بد جور گیر این مسئله هستم؛تو OnclientClick مربوط به دکمه ای اس پی هم نوشتم return false; ولی باز کار نکرد؛ممنون از اساتید و کسایی که می تونن کمک کنن خواهشا راهنمایی کنن.
ahmad156
پنج شنبه 19 دی 1392, 21:09 عصر
یکی از احتمالات قوی این هست که کنترل های asp شناسه ای(ID) که تولید میکنن مغایر با ID ای هست که شما براش گذاشتین.باید از ClientIDMode (http://msdn.microsoft.com/en-us/library/system.web.ui.control.clientid.aspx) استفاده کنین
amin4763
جمعه 20 دی 1392, 10:04 صبح
یکی از احتمالات قوی این هست که کنترل های asp شناسه ای(ID) که تولید میکنن مغایر با ID ای هست که شما براش گذاشتین.باید از ClientIDMode (http://msdn.microsoft.com/en-us/library/system.web.ui.control.clientid.aspx) استفاده کنین
مرسی از توضیحی که دادین ولی میشه یکم بیشتر بازش کنین؟من تا حالا با ClientIDMode استفاده نکردم یه توضیح مختصر یا یه مثال کوچولو براش می زنین؟ممنون می شم چون بدجور گیرم،ممنون می شم
fakhravari
جمعه 20 دی 1392, 10:12 صبح
$('#<%= rbl.ClientID %>').hover(
amin4763
جمعه 20 دی 1392, 10:19 صبح
کل برنامه اینجوری کار می کنه تو یه دکمه جی کوئری من دیالوگ رو open می کنم اینجوری :
<input type="button" id="jQueryButton1" onclick="$('#jQueryDialog1').dialog('open');return false;" name="" value="ورود به سامانه">
بعد تو دایو مربوط به دیالوگ هم دکمه asp رو گذاشتم با دوتا تکست باکس واسه تشخیص هویت؛اینم اسکریپت مربوط به دایو:
<script type="text/javascript">
$(document).ready(function () {
$("#jQueryButton1").button();
var jQueryDialog1Opts =
{
modal: true,
width: 418,
height: 273,
position: { my: 'center', at: 'center', of: window },
resizable: true,
draggable: true,
closeOnEscape: true,
show: 'scale',
hide: 'scale',
autoOpen: false
};
$("#jQueryDialog1").dialog(jQueryDialog1Opts);
});
حالا دکمه asp کار نمی کنه و من نمی دونم چرا ؛ و من نمی خوام از ajax واسه select کاربرا استفاده کنم کل مشکل اینه؛خداییش یکی که بلده کمک کنه
ahmad156
جمعه 20 دی 1392, 10:33 صبح
همون طور که میدونید 2 نوع کنترل داریم .یکی کنترل های HTML و دیگری کنترل های ASP.کنترل های ASP تبدیل میشن به کنترل های HTML.مثلا TextBox تبدیل میشه به input.
کنترل های ASP به صورت پیش فرض ،وقتی در خروجی HTML ای که تولید میشن ID اون ترکیبی از کنترل هایی هست که داخل اون هست(Container).مثلا فرض کنید یه کنترل Lable توی GridView دارین.حالا این GridView ده تا سطر داره.خب نمیتونه که 10 تا Lable با یه ID داشته باشین.پس رفتار ASP.NET در قبال همه کنترل های ASP اینطوری هست.یا مثال پایین.
<asp:ListView ID="ListView1" ClientIDMode="Static" ClientIDRowSuffix="ProductID" DataSourceID="XmlDataSource1" runat="server" > <ItemTemplate> ProductID: <asp:Label ID="ProductIDLabel" runat="server" Text='<%# Eval("ProductID") %>' /> <br /> ProductName: <asp:Label ID="ProductNameLabel" runat="server" Text='<%# Eval("ProductName") %>' /> <br /> <br /> </ItemTemplate> <LayoutTemplate> <div ID="itemPlaceholderContainer" runat="server"> <span ID="itemPlaceholder" runat="server" /> </div> <div> </div> </LayoutTemplate> </asp:ListView>
حالا خروجی Lable میشه
ListView1_ProductIDLabel_1
ListView1_ProductIDLabel_34
ListView1_ProductIDLabel_43
fakhravari
جمعه 20 دی 1392, 13:27 عصر
از باتن html استفاده کن.
چون اون کنترل ها دارای پستبک هستند
kablayi
جمعه 20 دی 1392, 13:42 عصر
کنترل های asp بایستی درون تگ <form> استفاده بشن...
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.