PDA

View Full Version : سوال: راه حل جواب كد پروفايل



s_mokhtari
دوشنبه 01 شهریور 1389, 16:35 عصر
با سلام
دوستان من توي وب كانفيگ اين كد رو گذاشتم
<profile>
<providers>
<clear />
<add name="SqlProvider"
type="System.Web.Profile.SqlProfileProvider"
connectionStringName="connection" />
</providers>
<properties>
<add name="LastName"/>
<add name="Address"/>
</properties>
</profile>
بعد توي فرم تكست باكس هارو گذاشتم و كاربرم رو ثبت كردم



MembershipCreateStatus status;
MembershipUser userObj = Membership.CreateUser(user, pswd, email,
question, answer, true, out status);

ProfileCommon oProfile = Profile.GetProfile(user );
//Set the values to be stored, note the use of find control
oProfile.LastName =txt1.Text;
oProfile.Address =txt2.Text ;

oProfile.Save();

كاربرم رو ثبت ميكنه ولي پروفايلشو نه چرااااااااااااااااااااااا اا؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

:گریه::گریه::گریه:

imanasp
دوشنبه 01 شهریور 1389, 23:01 عصر
كاربرم رو ثبت ميكنه ولي پروفايلشو نه چرااااااااااااااااااااااا اا؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
[/code]:گریه::گریه::گریه:

بعد از این کد:

MembershipCreateStatus status;
MembershipUser userObj = Membership.CreateUser(user, pswd, email,
question, answer, true, out status);اینو بنویس:


Membership.UpdateUser(userObj);

s_mokhtari
سه شنبه 02 شهریور 1389, 12:10 عصر
با سلام
دوست عزيز باز توي جدول ذخيره نميشه و هر وقت با ادمين وارد بشم و كاربر جديد ثبت كنم براي كاربر ادمين پروفايل رو تغيير ميده نه براي كاربر جديد
اصلان اين پروفايل توي كدوم جدول ممبرشيپ بايد ذخيره بشه
ممممممنون:اشتباه::اشتباه:

s_mokhtari
سه شنبه 02 شهریور 1389, 12:59 عصر
با سلام
دوستان من جدول خودم رو با جدول ممبرشيپ يكي كردم و درست شد ولي الان براي پروفايل ممبرشيپ به غير از جدول تفكيك شده يه جدول جديد ممبرشيپ كه فقط جدول ممبرشيپ داخلش درست شد و بعد كه وب كانفيگ رو اصلاح كردم اين خطارو ميده


<connectionStrings>
<add name="connection" connectionString="Data Source=(local);Initial Catalog=tree;Integrated Security=True"/>
</connectionStrings>
<system.web>

<profile>
<providers>
<clear />
<add name="SqlProvider"
type="System.Web.Profile.SqlProfileProvider"
connectionStringName="connection" />
</providers>
<properties>
<add name="LastName" />
<add name="Address" />
</properties>
</profile>


<membership defaultProvider="SqlProvider">
<providers>
<add type="System.Web.Security.SqlMembershipProvider" name="SqlProvider" connectionStringName="connection"/>
</providers>
</membership>
<roleManager enabled="true" defaultProvider="SqlProvider">
<providers>
<add connectionStringName="connection" name="SqlProvider" type="System.Web.Security.SqlRoleProvider" />
</providers>
</roleManager>


ممنون:چشمک:

imanasp
سه شنبه 02 شهریور 1389, 13:24 عصر
از خطا کاملا مشخصه هر Profile باید یک defaultProvider ی براش تعریف بشه توی Web.config خط زیر رو اصلاح کن:
به طور نمونه:

<profile defaultProvider="MyProfiles">
اصلان اين پروفايل توي كدوم جدول ممبرشيپ بايد ذخيره بشهاطلاعات کاربر توی دو جدول ذخیره میشه یکی برای فیلدهای خود membership که داخل aspnet-Membership ریخته میشه و یکی هم برای profile که داخل aspnet_profile ریخته میشه فیلدهای PropertyNames و PropertyValuesString

s_mokhtari
سه شنبه 02 شهریور 1389, 19:31 عصر
از خطا کاملا مشخصه هر Profile باید یک defaultProvider ی براش تعریف بشه توی Web.config خط زیر رو اصلاح کن:
به طور نمونه:

<profile defaultProvider="MyProfiles">اطلاعات کاربر توی دو جدول ذخیره میشه یکی برای فیلدهای خود membership که داخل aspnet-Membership ریخته میشه و یکی هم برای profile که داخل aspnet_profile ریخته میشه فیلدهای PropertyNames و PropertyValuesString
با سلام
دوست عزيز از راهنمايي شما ممنون
ولي يه سوال الان اگه من دو تا پروفايل نام خانوادگي و آدرس داشته باشم اين دو رو توي يه ستون مقدارشو ذخيره ميكنه حالا اگه بخوام توي ديتاگريد نام خانوادگي توي يه ستون و آدرس توي يه ستون ديگه نشون بده بايد چيكار كنم چون اينو توي يه ستون و بهم چسبيدن
بازم ممممممممممممممنون:تشویق::ت ویق:

imanasp
سه شنبه 02 شهریور 1389, 21:20 عصر
با سلام
دوست عزيز از راهنمايي شما ممنون
ولي يه سوال الان اگه من دو تا پروفايل نام خانوادگي و آدرس داشته باشم اين دو رو توي يه ستون مقدارشو ذخيره ميكنه حالا اگه بخوام توي ديتاگريد نام خانوادگي توي يه ستون و آدرس توي يه ستون ديگه نشون بده بايد چيكار كنم چون اينو توي يه ستون و بهم چسبيدن
بازم ممممممممممممممنون:تشویق::ت ویق:

خواهش می کنم
خیلی ساده، میتونی مثلا GridView رو Template کنی بعد دو تا لیبل بذاری بعد خاصیت Text رو به این صورت بایند کنی:

Eval("Profile.LastName")

Eval("Profile.Address")

s_mokhtari
چهارشنبه 03 شهریور 1389, 17:37 عصر
خواهش می کنم
خیلی ساده، میتونی مثلا GridView رو Template کنی بعد دو تا لیبل بذاری بعد خاصیت Text رو به این صورت بایند کنی:

Eval("Profile.LastName")

Eval("Profile.Address")


با سلام
دوست عزيز من اين استورپروسيجر كه شامل نام كاربر و پسورد و پروفايلش هست رو درست كردم

SELECT dbo.aspnet_Users.UserName, dbo.aspnet_Membership.Password, dbo.aspnet_Profile.PropertyValuesString
FROM dbo.aspnet_Membership INNER JOIN
dbo.aspnet_Profile ON dbo.aspnet_Membership.UserId = dbo.aspnet_Profile.UserId RIGHT OUTER JOIN
dbo.aspnet_Users ON dbo.aspnet_Membership.UserId = dbo.aspnet_Users.UserId AND dbo.aspnet_Profile.UserId = dbo.aspnet_Users.UserId
حالا يه گريد گذاشتم اطلاعات كاربر و پسورد رو درست نشون ميده ولي در مورد پروفايل برا همش يه مقدار مينويسه در حالي كه پروفايل هر فردي فرق ميكنه
و توي استورپروسيجر هم درست نشون ميده ولي توي ديتا گريد نه تكراري

<asp:GridView ID="GridView1" runat="server" GridLines="Horizontal" Width="507px"
AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="UserName" HeaderText="نام كاربري" />
<asp:BoundField DataField="Password" HeaderText="پسورد" />
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text ='<%#Profile.LastName%>' > </asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<AlternatingRowStyle BackColor="#009999" />
</asp:GridView>
ممنون:قلب: