0

我有按钮

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

这是我的点击功能

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 请求不起作用。
出了什么问题以及如何使其工作?

4

1 回答 1

0

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

 <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 是邪恶的

于 2013-10-24T12:33:17.500 回答