[jquery][asp.net mvc]如何用ajax呼叫get method並傳遞json物件型態的參數

  • 1455
  • 0
  • 2019-08-22

[jquery][asp.net mvc]如何用ajax呼叫get method並傳遞json物件型態的參數

一、執行ajax並回傳partial view的情況:
javascript:

var params = { HitId: 'jerry', Idno: '666666' };
var myJSON = JSON.stringify(params);
var rootPath = '@Url.Content("~/")';
$.ajax({                	
	url: rootPath + 'MyController/Edit?myjson=' + myJSON,
	success: function (data) {
		$('#modalWrapper').html(data);
		$('#popModal').modal('show');
	},
	error: function (error) {
		alert(error.responseText);
	}
});


c#:

[HttpGet]
public ActionResult Edit(string myjson)
{
	
	if (myjson == null)
	{
		return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
		//回傳JSON格式的資料也是OK,因為ActionResult是通吃的interface類型
		// return Json(new
			// {
				// success = false,
				// Message = "交易序號不得為空!",
				// JsonRequestBehavior.AllowGet
			// });
	}

	JObject fileContentObj = JObject.Parse(myjson);
	//轉成.net的 model物件比較方便使用
	MyViewModel model = fileContentObj.ToObject<MyViewModel>();

	
	EntryCheckEditViewModel verifyObj = new EntryCheckEditViewModel();
	verifyObj.para1 = model.mydata1;
	verifyObj.para2 = model.mydata2;
	
	return PartialView(verifyObj);
	
	//回傳JSON格式的資料也是OK,因為ActionResult是通吃的interface類型
	// return Json(new
		// {          
			// success = true,
			// Message = "",
			// JsonPara1 = verifyObj.para1,
			// JsonPara2 = verifyObj.para2,
			// JsonRequestBehavior.AllowGet

		// });
}




參考資料:
自己