मैं TempData (रूबी की तरह) एक फ्लैश संदेश के लिए मेरे सहायक में उपयोग करने के लिए चाहते हैंउपयोग TempData: नाम 'TempData' वर्तमान संदर्भ में मौजूद नहीं है
मैं एक मिल
The name 'TempData' does not exist in the current context
मेरी Flash.cshtml की रनटाइम त्रुटि के रूप में लेआउट में
@helper Show()
{
var message = "test message";
var className = "info";
if (TempData["info"] != null)
{
message = TempData["info"].ToString();
className = "info";
}
else if (TempData["warning"] != null)
{
message = TempData["warning"].ToString();
className = "warning";
}
else if (TempData["error"] != null)
{
message = TempData["error"].ToString();
className = "error";
}
<script>
$(document).ready(function() {
$('#flash').html('@HttpUtility.HtmlEncode(message)');
$('#flash').toggleClass('@className');
$('#flash').slideDown('slow');
$('#flash').click(function() { $('#flash').toggle('highlight') });
});
</script>
}
इस प्रकार मैं
है<section id="main">
@Flash.Show()
<div id="flash" style="display: none"></div>
@RenderBody()
</section>
मैं एक सहायक http://stackoverflow.com/a/5582533/31470 धन्यवाद में हालांकि नहीं एक ही बात करने के लिए इस उत्तर का उपयोग करने के – eiu165
Nonononono आप करते हैं एक -controller- पास करना चाहते हैं तो कृपया नहीं कर रहा था एक अवलोकन के लिए। आप फ़िल्टर को कैसे सेट अप करते हैं जो स्वचालित रूप से टेम्पैडाटा को दृश्य बैग में धक्का देता है? या डेटा के साथ व्यूबैग को पॉप्युलेट करने के लिए नियंत्रक बेस क्लास में OnActionExecut {ing, ed} विधियों का उपयोग करें। सीधे एक दृश्य के भीतर से नियंत्रक विधियों/फ़ील्ड/foo पोकिंग काफी ज्यादा encapsulation तोड़ता है। दो उदाहरणों के बीच अंतर यह है कि लिंक किया गया समाधान दृश्य में नियंत्रक का उपयोग नहीं करता है। – Cornelius
अब आप सहायक का उपयोग कर सकते हैं। ViewContext.TempData। –