无法调用函数(ajax)

时间:2013-10-24 12:06:00

标签: jquery ajax asp.net-mvc

我有按钮

    <input type="button" value="Показать URL" onclick="showUrlQuestionnaire(' + options.rowId + ')">

这是我的onclick功能

function showUrlQuestionnaire(id) {
$('#show_url_dialog').modal('show');
            $.ajax({
                url: 'Questionnaire/ShowUrlQuestionnaire', type: 'GET', dataType: 'json', data: { id: id }, contentType: 'application/json;charset=utf-8',
                success: function (ajaxResult) {
                    $('#url-container').html(ajaxResult);
                }
            });
        }

这是我的模态窗口

@section dialogs{

<div id="show_url_dialog" class="modal hide fade">
    <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
        <h4>Link:</h4>
    </div>
    <div class="modal-body">
        <div id="url-container"></div>
    </div>
</div>
}

这是我的控制器

[HttpGet]
    public JsonResult ShowUrlQuestionnaire(int id)
    {
        var questionnaire = QuestionnaireRepository.GetById(id);
        var questionnaireUrl = "/Questionnaire/CompleteQuestionnaire?GuidToken=" + questionnaire.QuestionnaireId.ToString();
        return Json(questionnaireUrl, "text/html", System.Text.Encoding.UTF8,
                    JsonRequestBehavior.AllowGet);
    }

但是当我点击按钮时,没有任何事情发生,就像我的ajax请求不起作用 怎么了?怎么让它起作用?

1 个答案:

答案 0 :(得分:0)

为什么你使用onclick?只需使用jquery click事件

 <input type="button" value="Показать URL" class="btn" data-id="2"> 

其中data-id是你的= options.rowId 然后

$( ".btn" ).click(function() {
 var id =$(this).data("id");
 $('#show_url_dialog').modal('show');
 $.ajax({
        url: 'Questionnaire/ShowUrlQuestionnaire', type: 'GET', dataType: 'json', data: { id: id },  contentType: 'application/json;charset=utf-8',
    success: function (ajaxResult) {
      $('#url-container').html(ajaxResult);
      }
 });
}

从我的观点来看,内联javascript是邪恶的东西