PDA

View Full Version : ارسال پارامتر به datasource



alia.n
سه شنبه 14 شهریور 1391, 17:18 عصر
سلام دوستان چه طوری میتونم پارامتری که به دیتاسورس میفرستم رو بگم کاربری باشه که لوگین کرده؟؟؟

یعنی تو قسمت سورس کدوم (cooki , form , profile , sesstion,...)رو انتخاب کنم و در قسمت Value چی بنویسم

jigily
سه شنبه 14 شهریور 1391, 18:49 عصر
باید none را انتخاب کردی و مقدار value
user.identity.name.tostring()

alia.n
سه شنبه 14 شهریور 1391, 19:33 عصر
باید none را انتخاب کردی و مقدار value
user.identity.name.tostring()

سلام دوستم انجام دادم هیچی نشون نمیده فکر کنم کار نکنه!!!
اخه من با sesstion کار کردم و مقدار بهش دادم به درستی کار میکرد.

fakhravari
چهارشنبه 15 شهریور 1391, 01:22 صبح
در قسمت ویزارد دیتاسورس
قسمتی که query سلکت مینویسی شرط where بگو از سشن بگیره.

alia.n
چهارشنبه 15 شهریور 1391, 12:58 عصر
در قسمت ویزارد دیتاسورس
قسمتی که query سلکت مینویسی شرط where بگو از سشن بگیره.

سلام دوستم اینو میدونم من مثال زدم یعنی گفتم کار با اونو تا حدی بلدم و با سشن جواب گرفتم اما من میخوام پارامترش ،کاربری باشه که لوگین کرده برای اون باید از سشن استفاده کنم اگر بله در قسمت value چی بنویسم؟؟؟

jigily
چهارشنبه 15 شهریور 1391, 17:43 عصر
ببین شرطی که میخوای بزاری چیه؟
نام کاربری خب باید نام کاربری در جدولت هم ذخیره شده باشه...
که اون کاری که گفتم انجام بدی..

alia.n
پنج شنبه 16 شهریور 1391, 11:56 صبح
ببین شرطی که میخوای بزاری چیه؟
نام کاربری خب باید نام کاربری در جدولت هم ذخیره شده باشه...
که اون کاری که گفتم انجام بدی..

نام کاربری در جدولم ذخیره شده و اون کار شما رو انجام دادم اما هیچ رکوردی رو بر نمی گردونه(ساده ترین کاری که من کردم اینه که می خوام تمام اطلاعات کاربری که لوگین کرده رو نشون بده حالا اگر کاربر وجود نداره پس چه طوری لوگین میشه!!! بنابراین کار من درست بوده و کاربر وجود داشته)

fakhravari
پنج شنبه 16 شهریور 1391, 13:39 عصر
برای مثال شما یک گرید دارید که مطالب کاربر لاگین شده را نشان میده.
به صورت زیر
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Session["UserName"] = Page.User.Identity.Name;
}
}
دیتاسورس
<asp:sqldatasource id="SqlDataSource1" runat="server" connectionstring="<%$ ConnectionStrings:ConnectionString1 %>"
selectcommand="SELECT * FROM [Inbox] WHERE ([UserName] = @UserName)">
<SelectParameters>
<asp:SessionParameter Name="UserName" SessionField="UserName" Type="String" />
</SelectParameters>
</asp:sqldatasource>
گرید
<asp:gridview id="GridView2" runat="server" autogeneratecolumns="False"
backcolor="White" bordercolor="#E7E7FF" borderstyle="None" borderwidth="1px"
cellpadding="3" gridlines="Horizontal" AllowPaging="True"
DataSourceID="SqlDataSource1" DataKeyNames="ID">
<columns>
<asp:BoundField DataField="UserName" HeaderText="UserName"
SortExpression="UserName"></asp:BoundField>
<asp:BoundField DataField="Subject" HeaderText="Subject"
SortExpression="Subject"></asp:BoundField>
</columns>

</asp:gridview>

moslem.hady
پنج شنبه 16 شهریور 1391, 15:03 عصر
برای مقدار دهی به پارامتر دیتاسورس:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT * from tbl where ID=@ID">
<SelectParameters>
<asp:QueryStringParameter Name="ID" QueryStringField="id" />
</SelectParameters>
</asp:SqlDataSource>
در کد:

SqlDataSource1.SelectParameters["ID"].DefaultValue = WHATEVER_YOU_WANT;

jigily
پنج شنبه 16 شهریور 1391, 16:16 عصر
میخوای اطلاعات شخصی که نام کاربریش اونی که الان لاگین هست را نمایش بدی توی گرید؟
خب همین میشه دیگه ...

fakhravari
پنج شنبه 16 شهریور 1391, 16:26 عصر
میخوای اطلاعات شخصی که نام کاربریش اونی که الان لاگین هست را نمایش بدی توی گرید؟
خب همین میشه دیگه ...

عزیز دل راهش همونی که گفتم.

alia.n
پنج شنبه 16 شهریور 1391, 17:34 عصر
برای مقدار دهی به پارامتر دیتاسورس:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT * from tbl where ID=@ID">
<SelectParameters>
<asp:QueryStringParameter Name="ID" QueryStringField="id" />
</SelectParameters>
</asp:SqlDataSource>
در کد:

SqlDataSource1.SelectParameters["ID"].DefaultValue = WHATEVER_YOU_WANT;

ممنون جواب داد.

alia.n
پنج شنبه 16 شهریور 1391, 17:35 عصر
برای مثال شما یک گرید دارید که مطالب کاربر لاگین شده را نشان میده.
به صورت زیر
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Session["UserName"] = Page.User.Identity.Name;
}
}
دیتاسورس
<asp:sqldatasource id="SqlDataSource1" runat="server" connectionstring="<%$ ConnectionStrings:ConnectionString1 %>"
selectcommand="SELECT * FROM [Inbox] WHERE ([UserName] = @UserName)">
<SelectParameters>
<asp:SessionParameter Name="UserName" SessionField="UserName" Type="String" />
</SelectParameters>
</asp:sqldatasource>
گرید
<asp:gridview id="GridView2" runat="server" autogeneratecolumns="False"
backcolor="White" bordercolor="#E7E7FF" borderstyle="None" borderwidth="1px"
cellpadding="3" gridlines="Horizontal" AllowPaging="True"
DataSourceID="SqlDataSource1" DataKeyNames="ID">
<columns>
<asp:BoundField DataField="UserName" HeaderText="UserName"
SortExpression="UserName"></asp:BoundField>
<asp:BoundField DataField="Subject" HeaderText="Subject"
SortExpression="Subject"></asp:BoundField>
</columns>

</asp:gridview>

ممنون جواب داد.