2012-01-20 14 views
7

के माध्यम से नहीं, मैं HTML दृश्य तत्व को स्वतंत्र रूप से पृष्ठ दृश्य के माध्यम से लिखना चाहता हूं, _Layout.cshtml के माध्यम से नहीं, क्योंकि प्रत्येक पृष्ठ को अलग-अलग स्क्रिप्ट, मेटा डेटा, शीर्षक इत्यादि की आवश्यकता होगी। यह सीएस/रेज़र के साथ एएसपी.नेट एमवीसी 3 में किया जा सकता है?सिर पर लिखना, लेकिन _Layout.cshtml

@using Test.Models; 
@model IEnumerable<Player> 
<!--   
Put JavaScript, CSS etc... Into the page <head> here. 
--> 

    <h2>Index</h2> 
    <table id="scores"> 
     <tr> 
      <th>Name</th> 
      <th>Age</th> 
      <th>Gender</th> 
     </tr> 
    @foreach(Player p in Model) 
    { 
     <tr> 
      <td>@p.name</td> 
      <td>@p.age</td> 
      <td>@p.gender</td> 
     </tr> 
    } 
    </table> 
    <canvas id="game" width="800" height="600"> 
     <p>Download a modern browser.</p> 
    </canvas> 

उत्तर

15

आप वर्गों का उपयोग करके ऐसा कर सकते हैं। अपने _Layout.cshtml पर जाएं और इस तरह के सिर नामक एक नया अनुभाग जोड़ें:

<head> 
<meta charset="utf-8" /> 
<title>@ViewBag.Title</title> 
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" /> 
@RenderSection("head", false) 
</head> 

नया अनुभाग @RenderSection के साथ जोड़ा गया है। जब पूरा दृश्य जावास्क्रिप्ट सिर्फ लिंक टैग नीचे सिर अनुभाग में गाया किया जाएगा प्रदान की गई है

@section head 
{ 
<script type="text/javascript""> 
    //Your java script here 
</script> 
} 

: अब आपके अलग-अलग दृश्यों में आप सामग्री सिर करने के लिए इस तरह जोड़ सकते हैं। आप वहां कुछ भी डाल सकते हैं। उदाहरण के लिए, मेटा टैग।

+0

+1 अनुभाग इसे पूरा करने का एक अच्छा तरीका है। – vcsjones

+0

इस प्रकार मैं प्रत्येक दृश्य के लिए अपने मेटा विवरण जोड़ता हूं। –

0
var newHeadElement = createSomeElementOrString; 
document.getElementsByTag("head")[0].appendChild(newHeadElement); 
+0

क्या यह जावास्क्रिप्ट का उपयोग करके इसे जोड़ने का एकमात्र समाधान है? मैं कार्यक्षमता में निर्मित व्यू इंजन या एएसपी.नेट्स का उपयोग करने के लिए कुछ उम्मीद कर रहा था। – Jack

+0

यदि आप व्यू इंजन का उपयोग करना चाहते हैं तो आपको सिर में प्रत्येक दृश्य से सशर्त प्रविष्टियों को स्वीकार करने के लिए अपना लेआउट बदलना चाहिए, केविन के इस संबंध में एक अच्छा सुझाव है। –

0

क्या आपने razor sections का उपयोग करने का प्रयास किया है?

संबंधित मुद्दे