1
0
نحوه ایجاد فرم با سی شارپ و ارسال آن در Asp.Net
نحوه ایجاد فرم با سی شارپ و ارسال آن در Asp.Net
در این مقاله قصد داریم تا نحوه ایجاد فرم با استفاده از سی شارپ و Asp.Net و ارسال (post) آن به یک وب سرویس یا هر جای که نیاز به دریافت اطلاعات به صورت یک فرم پست شده است را آموزش دهیم.
ابتدا یک کلاس به نام FormHelper ایجاد کنید و کد های زیر را به آن اضافه کنید
/// <summary> /// This method prepares an Html form which holds all data in hidden field in the addetion to form submitting script. /// </summary> /// <param name="url">The destination Url to which the post and redirection will occur, the Url can be in the same App or ouside the App.</param> /// <param name="data">A collection of data that will be posted to the destination Url.</param> /// <returns>Returns a string representation of the Posting form.</returns> public static String PreparePOSTForm(string url, NameValueCollection data) { //Set a name for the form string formID = "PostForm"; //Build the form using the specified data to be posted. StringBuilder strForm = new StringBuilder(); strForm.Append("<form id=\"" + formID + "\" name=\"" + formID + "\" action=\"" + url + "\" method=\"POST\">"); foreach (string key in data) { strForm.Append("<input type=\"hidden\" name=\"" + key + "\" value=\"" + data[key] + "\">"); } strForm.Append("</form>"); //Build the JavaScript which will do the Posting operation. StringBuilder strScript = new StringBuilder(); strScript.Append("<script language='javascript'>"); strScript.Append("var v" + formID + " = document." + formID + ";"); strScript.Append("v" + formID + ".submit();"); strScript.Append("</script>"); //Return the form and the script concatenated. (The order is important, Form then JavaScript) return strForm.ToString() + strScript.ToString(); } /// <summary> /// POST data and Redirect to the specified url using the specified page. /// </summary> /// <param name="page">The page which will be the referrer page.</param> /// <param name="destinationUrl">The destination Url to which the post and redirection is occuring.</param> /// <param name="data">The data should be posted.</param> /// <Author>Amin Rahimi</Author> public static void RedirectAndPOST(Page page, string destinationUrl, NameValueCollection data) { //Prepare the Posting form string strForm = PreparePOSTForm(destinationUrl, data); //Add a literal control the specified page holding the Post Form, this is to submit the Posting form with the request. page.Controls.Add(new LiteralControl(strForm)); }
متد PreparePOSTForm
این متد دو ورودی دریافت می کند یک میسر یا آدرسی که این فرم ارسال خواهد شود و سپس مقادیری که این فرم باید داشته باشد.
متد RedirectAndPOST
این متد دو ورودی دریافت می کند یک میسر یا آدرسی که این فرم ارسال خواهد شود و سپس مقادیری که این فرم باید داشته باشد و در نهایت اطلاعات را به متد PreparePOSTForm ارسال کرده و نتیجه دریافتی که یک فرم می باشد را به جایی که مشخص کردیم ارسال می کنیم.
نحوه استفاده ای متد RedirectAndPOST
// ایجاد یک شی از نیم ولیو کالکشن NameValueCollection datacollection = new NameValueCollection(); // اضافه کردن توکن به شی ساخت شده از نیم ولیو کالکشن datacollection.Add("FirstSite", ""); datacollection.Add("SecondSite", ""); // ارسال اطلاعات Response.Write(HttpHelper.PreparePOSTForm("http://iranganj.com/myAction.aspx", datacollection));
نظر / سوال