1

背景不能在局部視圖中使用Html助手?

我已經在我的控制器

[HttpGet] 
public ActionResult GetModulePropertyName(string moduleTypeValue) 
{ 
    var moduleKindId = _repository.GetModuleKindId(moduleTypeValue); 
    var modulePropertyNames = _repository.GetModuleKindPropertyNames(moduleKindId); 
    return PartialView(modulePropertyNames); 
    } 

modulePropertyNames可能包含的List of strings可能是空以下方法。

我想做

我想創建一個文本框傳遞到與佔位符或標籤作爲字符串局部視圖每個字符串,用戶鍵入一些文字出現,我會在以後檢索什麼。

我一直在做

我現在在做以下,但它說無法解析符號TextboxFor

@foreach (var names in Model) 
{ 
    <div class="input-block-level">@Html.TextBoxFor(names, new {@placeholder = names})</div> 
} 

這裏是我」的面積的web.config一直在努力

<?xml version="1.0"?> 

<configuration> 
    <configSections> 
    <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
     <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> 
     <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> 
    </sectionGroup> 
    </configSections> 

    <system.web.webPages.razor> 
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    <pages pageBaseType="System.Web.Mvc.WebViewPage"> 
     <namespaces> 
     <add namespace="System.Web.Mvc" /> 
     <add namespace="System.Web.Mvc.Ajax" /> 
     <add namespace="System.Web.Mvc.Html" /> 
     <add namespace="System.Web.Optimization"/> 
     <add namespace="System.Web.Routing" /> 
     </namespaces> 
    </pages> 
    </system.web.webPages.razor> 

    <appSettings> 
    <add key="webpages:Enabled" value="false" /> 
    </appSettings> 

    <system.web> 
    <httpHandlers> 
     <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/> 
    </httpHandlers> 

    <!-- 
     Enabling request validation in view pages would cause validation to occur 
     after the input has already been processed by the controller. By default 
     MVC performs request validation before a controller processes the input. 
     To change this behavior apply the ValidateInputAttribute to a 
     controller or action. 
    --> 
    <pages 
     validateRequest="false" 
     pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" 
     pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" 
     userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
     <controls> 
     <add assembly="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" /> 
     </controls> 
    </pages> 
    </system.web> 

    <system.webServer> 
    <validation validateIntegratedModeConfiguration="false" /> 

    <handlers> 
     <remove name="BlockViewHandler"/> 
     <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" /> 
    </handlers> 
    </system.webServer> 
</configuration> 
+0

哪裏是該文件?向我們展示'Views \ Web.config'。 – SLaks

+0

它在我一直在努力的區域內。我所指的控制器和視圖與硬件相同。我仍然需要發佈我的web.config我的web.config區域? – Cybercop

+0

向我們顯示'Areas \ Hardware \ Views \ Web.config'。它可能沒有Html擴展命名空間 – SLaks

回答

1

Html.TextBoxForExpression<Func<List<Model>>, TProperty>作爲第一個論點換貨。 試着用另一種方式:

@for (int i = 0; i < Model.Count; i++) 
{ 
    @Html.TextBoxFor(name => name[i], new {@placeholder = names}) 
} 

或者使用Html.TextBox()

@for (int i = 0; i < Model.Count; i++) 
{ 
    @Html.TextBox("name[" + i + "]", Model[i], new {@placeholder = names}) 
} 
+0

工作,但說lambda表達式不適用於字符串:( – Cybercop

+0

如果你使用lambda - 你應該使用Html.TextBoxFor,否則你需要Html.TextBox。請看看我更新的答案。 –

+0

thanks!working! – Cybercop