2010-04-21 10 views
25

मेरे पास कुछ एक्शनलिंक्स हैं जो rendered जब लंबाई कुंजी/मान जोड़ा जा रहा है जो नियंत्रक नाम के वर्णों की संख्या इंगित करने के लिए प्रतीत होता है। इसे कैसे हटाया जा सकता है?एएसपी.नेट एमवीसी - एक्शनलिंक्स में क्वेरीस्ट्रिंग "लंबाई =" जोड़ना?

+2

डुप्लिकेट, कई बार कई बार: http://stackoverflow.com/search?q=[asp.net-mvc ]+actionlink+length –

+0

लिंक – ScottG

उत्तर

41

अनुमान में, आप शायद HTML.ActionLink के गलत अधिभार का उपयोग कर रहे हैं और HTML विशेषताओं के बजाय रूट पैरामीटर में जोड़ रहे हैं। एचटीएमएल विशेषताओं को निर्दिष्ट करने से पहले आपको चौथे पैरामीटर के रूप में एक न्यूल जोड़ने की जरूरत है। कुछ ऐसा:

Html.ActionLink("Title", "Action", "Controller", null ,new { title = "Title"}) 

यदि यह काम नहीं करता है तो अपना कोड पोस्ट करें।

+0

लिंक के लिए धन्यवाद। मैं नामकरण पैरामीटर का उपयोग कर रहा था लेकिन फिर भी मुझे रूट वैल्यूज जोड़ना पड़ा: इस क्वेरी स्ट्रिंग से छुटकारा पाने के लिए शून्य। – arche89

3

आप मेरे सिर

html.actionlink("a","b","c",new {},new {@class = "d"}) 
2

चेक के ऊपर से में छड़ी छड़ी एक अतिरिक्त खाली ऑब्जेक्ट पैरामीटर htmlattributes से पहले, कुछ इस तरह अगर आपके Html.ActionLink लिए सही अधिभार का उपयोग कर देखने की जरूरत।

वे मुश्किल हो जाते हैं क्योंकि वे किसी भी ऑब्जेक्ट को लेते हैं, यहां तक ​​कि अज्ञात वाले भी होते हैं, और उन्हें आपके उपयोग के अधिभार के आधार पर रूट वैल्यू डिक्शनरी या एचटीएमएल विशेषताओं में बदल देते हैं। चूंकि यह ठीक से चलाएगा और संकलित करेगा यदि आप इन दो को गड़बड़ कर देते हैं तो यह बताने के लिए कि क्या आप सही अधिभार का उपयोग कर रहे हैं।

1

आप 'routeValues' गुजर रहे हैं, तो

सुनिश्चित करें कि 'htmlAttributes' null पर सेट है।

Html.ActionLink("Title", "Action", "Controller", new {}, null) 

AcitonLink की वरना गलत अधिभार उठाया है।

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