In The view.ps1 файл передать параметры следующим образом для создания представлений
# Render the T4 template, adding the output to the Visual Studio project
$outputPath = Join-Path $outputFolderName $ViewName
Add-ProjectItemViaTemplate $outputPath -Template $Template -Model @{
IsContentPage = [bool]$Layout;
Layout = $Layout;
SectionNames = $SectionNames;
PrimarySectionName = $PrimarySectionName;
ReferenceScriptLibraries = $ReferenceScriptLibraries.ToBool();
ViewName = $ViewName;
PrimaryKeyName = $primaryKeyName;
ViewDataType = [MarshalByRefObject]$foundModelType;
ViewDataTypeName = $foundModelType.Name;
RelatedEntities = $relatedEntities;
MController = $Controller;
MArea = $Area;
} -SuccessMessage "Added $ViewName view at '{0}'" -TemplateFolders $TemplateFolders -Project $Project -CodeLanguage $CodeLanguage -Force:$Force
И теперь в шаблоне View T4 используйте MArea и MController для получения имени контроллера.
Ниже приведен пример
@using (Ajax.BeginForm("CreateP", "<#= Model.MController #>",
new AjaxOptions
{
HttpMethod = "Post",
UpdateTargetId = "Def",
InsertionMode = InsertionMode.Replace,
LoadingElementId="divloading",
OnSuccess = "done",
OnFailure ="FailureAlert"
}))