/ / ASP.NET एमवीसी पेज बटन पर JQuery टाइमर प्लगइन क्लिक करें - jquery, asp.net-mvc, asp.net-mvc-2

एएसपी.नेट एमवीसी पेज बटन पर JQuery टाइमर प्लगइन क्लिक करें - jquery, asp.net-mvc, asp.net-mvc-2

मेरे पास "स्टार्ट लाइव मीटिंग" नामक बटन वाला एएसपी.नेट एमवीसी पेज है।

जब उपयोगकर्ता इस बटन पर क्लिक करता है, तो यह एक स्ट्रिंग देता है जो "StartLiveMeeting" नामक नियंत्रक विधि को कॉल करता है।

यदि नियंत्रक खाली स्ट्रिंग देता है, तो मैं टाइमर को कंट्रोलर विधि को तब तक कॉल करना चाहता हूं जब तक यह स्ट्रिंग वापस न करे। मैं jquery.timer.js प्लगइन का उपयोग कर रहा हूँ ( http://plugins.jquery.com/files/jquery.timers-1.2.js.txt )

बटन क्लिक पर, नियंत्रक विधि कहा जा रहा है। लेकिन टाइमर शुरू नहीं कर रहा है। मैंने नियंत्रक विधि को कॉल करने के लिए 5sec निर्दिष्ट किया है।

मैं आपकी प्रतिक्रियाओं की सराहना करता हूं।

एएसपीएक्स पेज पर कोड:

//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="/images/../../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 "";
}
}

उत्तर:

उत्तर № 1 के लिए 1

The load() विधि अतुल्यकालिक है, इसलिए आप "या तो इसे तुल्यकालिक बनाने की जरूरत है, या कॉलबैक में अपनी प्रतिक्रिया तर्क डाल दिया ।

$("#btnStartMeeting").click(function() {
loadLiveMeeting();
return false;
});
function loadLiveMeeting() {
$("#divConnectToLive").load("<%= Url.Action("StartLiveMeeting") %>", {}, function(responseText, status) {
if (responseText == "") {
$("#btnStartMeeting").oneTime("5s", function() {
// call load meeting again
});
} else {
$("#btnStartMeeting").stopTime("hide");
}
});
}