ASP.Net Formuna gönderilen Gönderi Verilerini Okuyun


109

Bir asp.net uygulamasında çalışan bir giriş formum var. Bir kullanıcı adı ve şifre metin kutusu ve girişi işlemek için bir düğme içeren standart öğeler. İyi çalışıyor.

Kullanıcının kullanıcı adı ve parolayı asp.net uygulamamın bir parçası olmayan ayrı bir düz html sayfasından girmesine izin vermek için yeni bir gereksinimim var. Bunu standart html - form, girdi, gönder düğmesi vb. Kullanarak gerçekleştirmeyi planlıyorum. Form eylemi asp.net oturum açma sayfamın URL'si olacak ve yöntemi POST olacaktır.

Asp.net oturum açma formunun sayfasının arkasındaki C # kodunda, muhtemelen Page_Load olayında yapmak istediğim, sayfaya yönelik isteğin geçirilen bir kullanıcı adı ve şifre değeri içerip içermediğini kontrol etmektir. Varsa, ihtiyacım var bu değerleri okumak ve oturum açma işlemini sanki birisi asp.net sayfasındaki oturum açma düğmesine tıklamış gibi işlemek için. Değilse, giriş formunu her zamanki gibi görüntüleyeceğim.

Sayfam için istekte bulunan kullanıcı adı ve şifre değerlerinin varlığını nasıl kontrol edebilirim ve okuyabilirim.

Yanıtlar:


151

Request.Form NameValueCollection'ı okuyun ve mantığınızı buna göre işleyin:

NameValueCollection nvc = Request.Form;
string userName, password;
if (!string.IsNullOrEmpty(nvc["txtUserName"]))
{
  userName = nvc["txtUserName"];
}

if (!string.IsNullOrEmpty(nvc["txtPassword"]))
{
  password = nvc["txtPassword"];
}

//Process login
CheckLogin(userName, password);

... burada "txtUserName" ve "txtPassword" dir Adları gönderme sayfasındaki denetimlerin.


Bayt dizileri ne olacak? Bunun gibi bir dizeniz olur ve sonra onu bir bayt dizisine dönüştürür müydünüz? Serve.r'ye bir dosya yüklüyorum
Fallenreaper

2
Her bir denetim adı için isteği doğrudan kontrol etmek yerine neden bir ad değerlendirme koleksiyonunu yinelediğini merak ediyor musunuz?
Howiecamp

@Howiecamp bu sorunun cevabını hiç buldu mu? Ben de ilgimi çekiyor.
tfrascaroli

BU! Verileri neden bu formdan alamadığımı anlamaya çalışırken 5 saat boyunca sağlam bir hata ayıklama yapıyordum.
2017'de saat

13
if (!string.IsNullOrEmpty(Request.Form["username"])) { ... }

kullanıcı adı, gönderim sayfasındaki girişin adıdır. Şifre aynı şekilde elde edilebilir. Boş veya boş değilse, kullanıcıda oturum açın (kullandığınızın bu olduğunu varsayarak ASP.NET Üyeliği için tam adımları hatırlamıyorum).


3
NameValueCollection nvclc = Request.Form;
string   uName= nvclc ["txtUserName"];
string   pswod= nvclc ["txtPassword"];
//try login
CheckLogin(uName, pswod);

Cevabınızın daha uygun olması için doğru bir referans verin.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.