मैं अजाक्स कॉल के साथ एक एमवीसी वेबसाइट बनाने की कोशिश कर रहा हूं। मुझे सीधे jquery का उपयोग करने में कोई समस्या नहीं है, लेकिन जब मैं @ Ajax.ActionLink का उपयोग करता हूं, तो मुझे नतीजा नहीं मिलता है। यहाँ मेरे विचार है:एमवीसी 4 अजाक्स। एक्शन लिंक टी काम जीता
<script type="text/javascript">
function deleteComment(id) {
$.post(
"/Role/AjaxTest",
//{ id: id },
function (data) {
$("#testtarget").html(data);
});
}
</script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
<h2>TITLE</h2>
<p>
@Ajax.ActionLink("Ajax Test", "AjaxTest", "Role", new AjaxOptions{UpdateTargetId="testtarget",HttpMethod = "Get" , InsertionMode = InsertionMode.Replace })
</p>
<table>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.RoleName)
</td>
<td>
<a onclick="deleteComment('@item.RoleId'); return false;" href="#">Delete</a>
@Html.ActionLink("Delete", "Delete", new { id=item.RoleId })
</td>
</tr>
}
</table>
<div id="testtarget">Test Div</div>
और यहाँ मेरी Controler डेटा है:
public string AjaxTest()
{
return "Some random text";
}
Jquery पर मेरे कॉल पूरी तरह से काम करता है और पाठ div में प्रकट होता है, लेकिन मेरे actionlink सिर्फ करने के लिए मुझे पुनर्निर्देश: स्थानीय होस्ट/भूमिका/अजाक्सटेस्ट इसलिए मेरे पास बस एक बैंक ब्राउज़र में संदेश है।
कोई विचार क्या गलत है?
बहुत पहले से धन्यवाद! यदि आप बंडलों का उपयोग कर रहे हैं (जो सिफारिश की दृष्टिकोण है) यकीन है कि तुम एक बंडल इस स्क्रिप्ट युक्त शामिल किया है
<script type="text/javascript" src="~/scripts/jquery.unobtrusive-ajax.js"></script>
या:
क्या आप सुनिश्चित हैं कि 'jquery.unobtrusive-ajax.min.js' फ़ाइल लोड हो रही है? –
हां, जब मैं अपने वेबपृष्ठ स्रोत में लिंक पर क्लिक करता हूं: यह इसे खोलता है। – Tom