PDA

View Full Version : داینامیک کردن جی کوئری



gandom66
شنبه 17 اسفند 1392, 12:22 عصر
سلام
من ی صفحه دارم ک وقتی روش کلیک میشه میره صفحه بعد و تو اونجا با استفاده از QUERY string آی دی رو میگیرم و تو ی لیترال میریزم ک به صورت ی لیست نمایش میده قراره رو هرکدوم کلیک کردم تو ی پنجره پاپ آپ توضیحات هر کدومو نشون بده ک این توضیحات از دیتابیس خونده میشه کدم اینطوری هست

تو مارک آب



<div class="midlle">

<div class="content">

<ul class="big-link" data-reveal-id="myModal" >
<%-- اینجا فراره لیستم نمایش داده بشه ک هر کدوم ی رکود از دیتابیسم هست و با کلیک رو هر کدوم قراره توضیحاتش تو پنجره پاپ آپ نمایش داده بشه --%>
<asp:Literal Text="" ID="litDescription" runat="server" />
</ul>


<div id="myModal" class="reveal-modal">
<%-- اینم توضیحات --%>
<asp:FormView ID="frm" ItemType="EmaratSoroush2.Models.Menu" SelectMethod="frm_GetItem" runat="server">
<ItemTemplate>
<asp:Label ID="Label1" Text='<%#Item.Description %>' runat="server" />
</ItemTemplate>
</asp:FormView>

<a class="close-reveal-modal">&#215;</a>
</div>


</div>
<div class="related"></div>


</div>


اینم کدبیهانتم









protected void Page_Load(object sender, EventArgs e)
{

var Id = int.Parse(Request.QueryString["CatId"]);

List<Models.Menu> menues = _db.Menus.Where(rs => rs.MenuCatId == Id).ToList();

StringBuilder str = new StringBuilder();
foreach (Models.Menu it in menues)
{

//لیترال رو اینجوری پر کردم ک آی دی هر کدمو بده به url
str.Append("<li><a href=\"/Site/Menus.aspx?CatId=1&Id=" + it.Id + "\">" + it.Name + "</a></li>");
}

litDescription.Text = str.ToString();


}



//اینجا هم آی دی رو از url
// میخونه و میده به فرم ویو و اونم توضیحات هر رکورد رو میاره
public IQueryable<Models.Menu> frm_GetItem([System.Web.ModelBinding.QueryString("Id")]int? Id)
{
return _db.Menus.Where(rs => rs.Id == Id);

حالا مشکل اینجاست ک این جی کوئری جوری هس ک صفحه رفرش نمیشه ک آی دیش عوض بشه و ب صورت کوئری استرینگ بدم بفرم ویو ک توضیحات رکورد مورد نظر رو بیاره
ی راهی هس ک من آی دی هر آبجکت لیترال رو ک در اصل هر کدوم ی رکورد از تیبلم هستن رو بدست بیارم ک دیگه نخوام از این روشی ک خودم بدست آوردم استفاده کنم؟؟؟؟؟؟؟؟؟؟؟
من همون جور ک تو کد میبینید اینطوری بدست آوردم
List<Models.Menu> menues = _db.Menus.Where(rs => rs.MenuCatId == Id).ToList();

StringBuilder str = new StringBuilder();
foreach (Models.Menu it in menues)
{


str.Append("<li><a href=\"/Site/Menus.aspx?CatId=1&Id=" + it.Id + "\">" + it.Name + "</a></li>");

}


بقسمت قرمزه توجه کنید

از دوستان میخوام اگه زحمتی نیس زود جواب بدن

مرسی

gandom66
دوشنبه 19 اسفند 1392, 10:25 صبح
دوستان لطفا ی کمکی به این بنده حقیر بفرمایید ممنون میشم