में मार्ग मान के लिए जावास्क्रिप्ट चर पारित करना मैं रूट पैरामीटर के रूप में @ url.Action विधि में जावास्क्रिप्ट चर को पास करना चाहता हूं।एमवीसी 3
मैं अपनी क्रिया विधि में रूट पैरामीटर के रूप में स्क्रीनमोड जावास्क्रिप्ट चर को पास करना चाहता हूं।
मेरे पास स्क्रीनमोड एनम संपत्ति के साथ एक दृश्य मॉडल है और इसके आधार पर मैं को अजाक्स में एक क्रिया कॉल करनी चाहिए। मुझे रूट के लिए पैरामीटर के रूप में एक जावास्क्रिप्ट वैरिएबल पास करने की भी आवश्यकता है।
यह वही है जो मैंने कोशिश की और संकलन त्रुटि मिली।
नाम 'screenMode' वर्तमान संदर्भ में मौजूद नहीं है
$("#role-detail-form").submit(function (e) {
if ($(this).valid()) {
var screenMode = 0;
@{
if (Model.ScreenMode == UI.ViewModel.ScreenMode.New)
{
<text>
screenMode =2;
</text>
}
}
$.post('@Url.Action("SaveRoleDetail", new { mode=screenMode})',
$(this).serialize(), function (data) {
$("#role-detail").html(data);
$.validator.unobtrusive.parse($("#role-detail"));
});
}
e.preventDefault();
});
मेरे कार्रवाई
public ActionResult SaveRoleDetail(RoleModel viewModel, ScreenMode screenMode)
{
}
क्या मैं एजेक्स विधि पोस्ट में इस क्वेरी स्ट्रिंग को पास कर सकता हूं? यूआरएल कैसा दिखता है? स्क्रीन मोड पोस्ट पैरामीटर का हिस्सा होगा या क्वेरी स्ट्रिंग में होगा? –
बेहतर अभी भी, आप स्क्रीन मॉडल को अपने मॉडल में रख सकते हैं, एक छुपा है दृश्य में, फिर यदि आप जावास्क्रिप्ट में अपना मान बदलना चाहते हैं, तो आप बस छिपे हुए इनपुट के मान को अपडेट कर सकते हैं, फिर जब सब कुछ किया जाता है, तो बस करें $ ("# फॉर्म")। serialize() ;, इस तरह आपकी एक्शन विधि को केवल पैरामीटर के रूप में दृश्य मॉडल लेना चाहिए :) – mattytommo
हाँ आप सही हैं। अब मैं छिपे हुए क्षेत्र का उपयोग करता हूं और जावास्क्रिप्ट के साथ अद्यतन करता हूं। क्या आप कृपया इस छिपे हुए फील्ड की जानकारी को अपने उत्तर के हिस्से के रूप में जोड़ सकते हैं। तो यह दूसरों के लिए भी आसानी से दिखाई दे सकता है और उपयोगी होगा :) –