1
0
نحوه ایجاد فرم با سی شارپ و ارسال آن در MVC
نحوه ایجاد فرم با سی شارپ و ارسال آن در MVC
در این مقاله قصد داریم تا نحوه ایجاد فرم با استفاده از سی شارپ و MVC و ارسال (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(); }
متد PreparePOSTForm
این متد دو ورودی دریافت می کند یک میسر یا آدرسی که این فرم ارسال خواهد شد و سپس مقادیری که این فرم باید داشته باشد
نحوه استفاده ای متد PreparePOSTForm
// ایجاد یک شی از نیم ولیو کالکشن NameValueCollection datacollection = new NameValueCollection(); // اضافه کردن توکن به شی ساخت شده از نیم ولیو کالکشن datacollection.Add("FirstSite", "iranganj.com"); datacollection.Add("SecondSite", "karkoo.ir"); // ارسال اطلاعات Response.Write(FormHelper.PreparePOSTForm("http://iranganj.com/myAction",datacollection));
در کدهای بالا به کاملا مشخص است ایتدا مقادیر فرم را مشخص کردیم و سپس فرم را ارسال کردیم
نظر / سوال