我需要将messageID传递给我的控制器,我不知道如何做到这一点,请参阅下面的javascript和控制器。如果它被检查等等,我将如何做类似字符串消息ID的操作...
$(".markmessage").click(function () {
var messageId=$(this).data("id"); //need to pass this message ID to controller.
//I need to pass the messageID to server which is CRM
$.ajax({
url: "@Url.Action("", "")", //Need to add my URl here
type: "POST",
data: JSON.stringify({messageID : messageId}), //method converts a JavaScript value to a JSON string
dataType: "json",
success: function (response) {
$(this).remove();
}
});
});
我的messageID控制器方法,
[HttpPost]
public ActionResult markmessage()
{
}
答案 0 :(得分:0)
为了在部署到生产时安全起见,我们需要提取根URL。 在你的Layout.cshtml中添加这个;
<script>
var baseUrl = "@Url.Content("~")";
</script>
在你的ajax中
$.ajax({
url: baseUrl + '/Controller/Action', //Need to add my URl here
type: "POST",
data: {'messageID' : messageId},
dataType: "json",
success: function (response) {
$(this).remove();
}
});
});
在控制器中 [HttpPost]
public ActionResult markmessage(string messageID)
{
if (messageID == "read do this")
{
.. Insert your logic here
}
}
就这么简单,请记住URL.Action在javascript中不起作用,因为它仅适用于asp