PDA

View Full Version : سوال: در مورد کنترل کردن عمل post back و فرم sign up



orca13
شنبه 15 مهر 1391, 18:39 عصر
سلام!
من تو پروژم، صفحه sign up درست نکردم و کنترل sign up رو درون یک div گذاشتم و با استفاده از javaScript این فرم رو نمایش میدم و میبندم.
همه چیش خوبه، فقط یه مشکل دارم، اونم اینه که وقتی کاربر فرم رو پر میکنه (به درستی) و دکمه Sign Up رو میزنه، صفحه post back میشه، و چون من display اون div که کنترل sign up رو توش گذاشتم، برار none قرار دادم، فرم sign up مخفی میشه و اون پیغامی که مربوط به فرم sign up هستش رو کاربر نمیتونه ببینه، مثلا ممکنه نام کاربری تکراری باشه، و من گفتم بهش، اما چون مخفی میشه، نمیتونه ببینه و باید دوباره روی دکمه sign up کلیک کنه.

حالا میخواستم لطف کنید بگید راه حلش چیه.
ممنون

amirzandi
شنبه 15 مهر 1391, 18:43 عصر
شما باید UseSubmitBehavior = "false" و onclientclick = return false() کنی ، بعد با استفاده جاوا اسکریپت با jQuery عملیات Sign up رو انجام بدی. اگر از jQuery استفاده میکنی ، باید در مورد $.ajax و متد POST تحقیق کنی...

orca13
شنبه 15 مهر 1391, 19:12 عصر
یعنی با جاوا اسکریپت به membership دسترسی ایجاد کنم؟

amirzandi
شنبه 15 مهر 1391, 19:15 عصر
شما بعد از Sign up ، کاربر ها را در Database نگهداری می کنید؟

orca13
شنبه 15 مهر 1391, 19:35 عصر
آره دیگه، الانم از کنترل sign up خود asp استفاده نکردم ولی از membership خود asp استفاده کردم.

amirzandi
شنبه 15 مهر 1391, 19:42 عصر
پیشنهاد من استفاده از jQuery هست . به نمونه کد زیر توجه کنید :


$.ajax({
type: "POST",
url: "Register.aspx/RegisterUser",
data: "{name: '" + name + "', email: '" + email + "', username: '" + user + "', password: '" + password2 + "', tel: '" + tel + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: success
});


کد زیر هم در فایل Register.aspx هست ، البته من Insert کردم در دیتابیس :


<Script.Services.ScriptMethod()> _
<WebMethod()> _
Public Shared Function RegisterUser(ByVal name As String, ByVal email As String, ByVal username As String, ByVal password As String, ByVal tel As String) As String
Dim report As String = String.Empty
If UserExist(username) = True Then
report = "user exist"
ElseIf EmailExist(email) = True Then
report = "email exist"
Else
Dim db As New DataClassesDataContext
Dim insert As New User
insert.Name = name
insert.Email = email
insert.username = username
insert.join_date = DateTime.Now
insert.password = password
insert.tel = tel
db.Users.InsertOnSubmit(insert)
report = "Done"
db.SubmitChanges()
Else
report = rpl
End If
End If
Return report
End Function

orca13
شنبه 15 مهر 1391, 19:52 عصر
ممنون، لطفا این تاپیک رو مد نظر داشته باش، امتحان میکنم، اگه بازم سوال پیش اومد، لطف کنی و جواب بدی.

amirzandi
شنبه 15 مهر 1391, 19:56 عصر
اگر مشکلی بود اینجا مطرح کنید ، دوستان اینجا همه از من بهتر و وارد تر هستند ، حتما به شما کمک خواهند کرد ، ولی اگر جواب ندادم ، به من پیغام دهید ، در خدمتم.