2012-02-15 16 views
0

私は入りたくないので、変更することもできません.net webフォームを使用していて、複数のフォームを含むhtmlが提供されていました。あなたは単なるフォームにrunat = "server"というタグをつけてWebフォームにすることができますので、私は非正統的なアプローチを取らなければなりませんでした。runat = "server"のないフォームに入力しますか?

私はHttpContext.Current.Requestを使用してフォームを送信しても問題ありませんが、フォームデータを入力する方法はありません。

私が持っている唯一のアイデアは、JSONを返す静的webMethod "on_load"を呼び出すdocument.ready()でajax呼び出しを作成することです。このJSONは、jquery関数によって解析され、フォームにデータを入力します。

私は助けることはできませんが、これを行うためのより良い方法は、サーバーサイドコード、任意の提案を組み込むことができますか?

+0

'Request.Form []'は使用できません。http://msdn.microsoft.com/en-us/library/system.web.httprequest.form.aspx – Prescott

+0

HttpContext.Current.RequestとRequestは同じオブジェクトです。これはフォームの送信では機能しますが、フォームloadでデータを入力しようとしています。たとえば、データベースから「John Doe」という名前が取得され、フォームに「フルネーム」テキストボックスを入力しようとします。 – user1210621

答えて

1

フォーム要素にrunat="server"を使用できないため、プレーンHTMLフォーム要素を使用していると仮定して、HTML要素の値をaspxページに直接設定できます。

は、あなたのオブジェクトをロードしている、あなたの後ろにあなたaspx.csコード内のパブリックプロパティを経由して、それを公開することができますと仮定します

Public Property Person MyPerson { get; set; } 

次に、あなたのaspxコードに次を置くことができます:

<input type='text' value='<%=MyPerson.FirstName %>' /> 
+0

オブジェクトがない場合、各文字列値を公開することができます。 'Public string fullname {get; set ;; ''または 'public string fullname = 'Prescott''、あなたが値のトンを埋めるなら、これはあなたのコードビハインドにたくさん追加され、きれいなものではありません – Prescott

関連する問題