مع ASP.NET، كيف تكتب إلى عنصر تحكم جانب العميل (مربع النص) مع رمز جانب الخادم؟

StackOverflow https://stackoverflow.com/questions/2014306

  •  19-09-2019
  •  | 
  •  

سؤال

إذا كان لدي مربع نص HTML قياسي: يمكنني استرداد القيمة باستخدام الطلب .form.

ولكن كيف أذهب حول ملء هذا النص من جانب الخادم؟ حاولت

Request.Form["txtTest"] = "blah"; 

ولكن حصلت على خطأ في القراءة.

هل كانت مفيدة؟

المحلول

إذا كنت ترغب في الحصول على دعم من الدرجة الأولى للوصول إلى عنصر تحكم عن طريق معرفه على جانب الخادم (حسب عناصر تحكم .NET)، فستحتاج إلى تحقيق ذلك علامات RunAT = "Server".

وإلا يمكنك تعيين القيمة Dynamicaly من خلال وجود خاصية في التعليمات البرمجية الخاصة بك خلفها وتسحب القيمة من هذا على صفحة ASPX باستخدام Databinding EG

<input type=text value="<%=PropertyInCodeBehindClass %>" />

و

public string PropertyInCodeBehindClass
{
  get;
  set;
}

نصائح أخرى

تذكر أنه عند النقطة عندما يعمل رمز الخادم الخاص بك، يقوم مربع نص جانب العميل غير موجود. وبعد تم تقديم صفحة HTML التي تستضيف عنصر التحكم بالفعل إلى الخادم الجديد طلب, ، ومتصفح الويب يتوقع منك رد مع صفحة جديدة تماما. حتى تصل هذه الاستجابة إلى أن المتصفح سيغادر الصفحة المعروضة، ولكن هذه مجرد قذيفة مريحة. ذهب DOM الذي عقد مربع النص الخاص بك، ولم تقم بإنشاء واحدة جديدة حتى الآن. لا يمكنك تغيير إجابتك مباشرة عن طريق تحديث خاصية في الطلب.

هذا يعني أنك بحاجة إلى استخدام تمثيل جانب الخادم للتحكم. إذا كان عنصر تحكم خادم، فقد تحاول txtTest.Text = "blah"; خلاف ذلك، تحتاج إلى البحث حيث يمكنك إنشاء علامة الإدخال وتغيير الأشياء بشكل مناسب.

دائما اثنين هناك؛ لا أكثر ولا أقل. طلب وردا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top