У меня есть страница ASP.NET MVC с кнопкой «Начать Live Meeting».
Когда пользователь нажимает на эту кнопку, он вызывает метод контроллера с именем «StartLiveMeeting», который возвращает строку.
Если контроллер возвращает пустую строку, то я хочу, чтобы Timer вызывал метод Controller, пока он не вернет строку.Я использую плагин jquery.timer.js (http://plugins.jquery.com/files/jquery.timers-1.2.js.txt)
При нажатии кнопки вызывается метод контроллера.Но Таймер не инициирует.Я указал 5 секунд для вызова метода контроллера.
Я ценю ваши ответы.
Код на странице ASPX:
//When "Start Meeting" button is clicked, if it doesn’t return empty string, Display that text and Stop Timer. Else call the Timer in every 5 sec and call the StartLiveMeeting Controller method.
$("#btnStartMeeting").click(function() {
var lM = loadLiveMeeting();
if (lM == "") {
$("#btnStartMeeting").oneTime("5s", function() {
});
} else {
$("#btnStartMeeting").stopTime("hide");
}
return false;
});
function loadLiveMeeting() {
$("#divConnectToLive").load('<%= Url.Action("StartLiveMeeting") %>', {}, function(responseText, status) {
return responseText;
});
}
<asp:Content ID="Content2" ContentPlaceHolderID="cphMain" runat="server">
<div id="divStartMeetingButton"><input id="btnStartMeeting" type="submit" value="Start Meeting" />
</div>
<div id = "divConnectToLive">
<div id="loading" style="visibility:hidden">
<img src="../../img/MedInfo/ajax_Connecting.gif" alt="Loading..." />
</div>
</div>
Метод контроллера:
[HttpPost]
public string StartLiveMeeting()
{
int intCM_Id = ((CustomerMaster)Session["CurrentUser"]).CM_Id ;
var activeMeetingReq = (from m in miEntity.MeetingRequest
where m.CustomerMaster.CM_Id == intCM_Id
&& m.Active == true
select m);
if (activeMeetingReq.Count() > 0)
{
MeetingRequest meetingReq = activeMeetingReq.First();
return "<a href='" + meetingReq.URI + "'>" + "Connect to Live Meeting</a>";
} else {
return "";
}
}