本文整理汇总了C#中HtmlHelper.Action方法的典型用法代码示例。如果您正苦于以下问题:C# HtmlHelper.Action方法的具体用法?C# HtmlHelper.Action怎么用?C# HtmlHelper.Action使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HtmlHelper
的用法示例。
在下文中一共展示了HtmlHelper.Action方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RenderSitecorePlaceHolder
public static string RenderSitecorePlaceHolder(string key)
{
var sublayoutId = GetSublayoutIdFromPlaceHolder(Sitecore.Context.Item[Sitecore.FieldIDs.LayoutField], key);
if (!string.IsNullOrEmpty(sublayoutId))
{
var layoutItem = Sitecore.Context.Database.GetItem(ID.Parse(sublayoutId));
var controllerName = layoutItem.Fields["Controller"].Value;
var actionName = layoutItem.Fields["Action"].Value;
HttpContext.Current.RewritePath(string.Concat("/", controllerName, "/", actionName));
RouteData routeData = RouteTable.Routes.GetRouteData(new HttpContextWrapper(HttpContext.Current));
if (routeData != null)
{
var factory = new ControllerFactory();
var httpContextBase = new HttpContextWrapper(HttpContext.Current);
var context = new RequestContext(httpContextBase, routeData);
Type type = factory.GetController(context, controllerName);
if (type != null)
{
var controller = (Controller)factory.GetController(context, type);
var controllerContext = new ControllerContext(httpContextBase, routeData, controller);
var viewContext = new ViewContext(controllerContext, new FakeView(), controller.ViewData, controller.TempData, TextWriter.Null);
var helper = new HtmlHelper(viewContext, new ViewPage());
return helper.Action(actionName, controllerName).ToHtmlString();
}
}
HttpContext.Current.RewritePath("default.aspx");
}
return "";
}
示例2: RenderEntity
/// <summary>
/// Render an entity (Component Presentation)
/// </summary>
/// <param name="item">The Component Presentation object</param>
/// <param name="helper">The HTML Helper</param>
/// <param name="containerSize">The size of the containing element (in grid units)</param>
/// <param name="excludedItems">A list of view names, if the Component Presentation maps to one of these, it is skipped.</param>
/// <returns>The rendered content</returns>
public override MvcHtmlString RenderEntity(object item, HtmlHelper helper, int containerSize = 0, List<string> excludedItems = null)
{
var cp = item as IComponentPresentation;
var mvcData = ContentResolver.ResolveMvcData(cp);
if (cp != null && (excludedItems == null || !excludedItems.Contains(mvcData.ViewName)))
{
var parameters = new RouteValueDictionary();
int parentContainerSize = helper.ViewBag.ContainerSize;
if (parentContainerSize == 0)
{
parentContainerSize = SiteConfiguration.MediaHelper.GridSize;
}
if (containerSize == 0)
{
containerSize = SiteConfiguration.MediaHelper.GridSize;
}
parameters["containerSize"] = (containerSize * parentContainerSize) / SiteConfiguration.MediaHelper.GridSize;
parameters["entity"] = cp;
parameters["area"] = mvcData.ControllerAreaName;
foreach (var key in mvcData.RouteValues.Keys)
{
parameters[key] = mvcData.RouteValues[key];
}
MvcHtmlString result = helper.Action(mvcData.ActionName, mvcData.ControllerName, parameters);
if (WebRequestContext.IsPreview)
{
result = new MvcHtmlString(TridionMarkup.ParseEntity(result.ToString()));
}
return result;
}
return null;
}
示例3: InvokeAction
private static string InvokeAction(ControllerBase controller, string actionName, string controllerName, RouteValueDictionary routeValues)
{
var viewContext = new ViewContext(controller.ControllerContext, new WebFormView(controller.ControllerContext, "tmp"),
controller.ViewData, controller.TempData, TextWriter.Null);
var htmlHelper = new HtmlHelper(viewContext, new ViewPage());
return htmlHelper.Action(actionName, controllerName, routeValues).ToString();
}
示例4: RenderAction
private void RenderAction(IParrotWriter writer, IDictionary<string, object> documentHost, string action, string controllerName, string area, params string[] additional)
{
RouteValueDictionary routeValues = new RouteValueDictionary();
routeValues["action"] = action;
if (!string.IsNullOrWhiteSpace(controllerName))
{
routeValues["controller"] = controllerName;
}
if (!string.IsNullOrWhiteSpace(area))
{
routeValues["area"] = area;
}
var viewContext = documentHost["ViewContext"] as ViewContext;
IViewDataContainer container = new ViewPage();
var helper = new HtmlHelper(viewContext, container);
writer.Write(helper.Action(action, routeValues).ToHtmlString());
}
示例5: RenderRegion
/// <summary>
/// Render an Region
/// </summary>
/// <param name="item">The Region object</param>
/// <param name="helper">The HTML Helper</param>
/// <param name="containerSize">The size of the containing element (in grid units)</param>
/// <param name="excludedItems">A list of view names, if the Region maps to one of these, it is skipped.</param>
/// <returns>The rendered content</returns>
public override MvcHtmlString RenderRegion(IRegion region, HtmlHelper helper, int containerSize = 0, List<string> excludedItems = null)
{
var mvcData = ContentResolver.ResolveMvcData(region);
if (region != null && (excludedItems == null || !excludedItems.Contains(region.Name)))
{
if (containerSize == 0)
{
containerSize = SiteConfiguration.MediaHelper.GridSize;
}
MvcHtmlString result = helper.Action(mvcData.ActionName, mvcData.ControllerName, new { Region = region, containerSize = containerSize, area = mvcData.ControllerAreaName });
if (WebRequestContext.IsPreview)
{
result = new MvcHtmlString(TridionMarkup.ParseRegion(result.ToString()));
}
return result;
}
return null;
}
示例6: RenderComponentPresentation
private static MvcHtmlString RenderComponentPresentation(IComponentPresentation cp, HtmlHelper htmlHelper)
{
string controller = _configuration.ComponentPresentationController;
string action = _configuration.ComponentPresentationAction;
if (cp.ComponentTemplate.MetadataFields != null && cp.ComponentTemplate.MetadataFields.ContainsKey("controller"))
{
controller = cp.ComponentTemplate.MetadataFields["controller"].Value;
}
if (cp.ComponentTemplate.MetadataFields != null && cp.ComponentTemplate.MetadataFields.ContainsKey("action"))
{
action = cp.ComponentTemplate.MetadataFields["action"].Value;
}
_loggerService.Debug("about to render component presentation with controller {0} and action {1}", LoggingCategory.Performance, controller, action);
//return ChildActionExtensions.Action(htmlHelper, action, controller, new { componentPresentation = ((ComponentPresentation)cp) });
MvcHtmlString result = htmlHelper.Action(action, controller, new { componentPresentation = ((ComponentPresentation)cp) });
_loggerService.Debug("finished rendering component presentation with controller {0} and action {1}", LoggingCategory.Performance, controller, action);
return result;
}
示例7: RenderComponentPresentation
private static MvcHtmlString RenderComponentPresentation(IComponentPresentation cp, HtmlHelper htmlHelper)
{
string controller = _configuration.ComponentPresentationController;
if (cp.ComponentTemplate.MetadataFields != null && cp.ComponentTemplate.MetadataFields.ContainsKey("controller"))
{
controller = cp.ComponentTemplate.MetadataFields["controller"].Value;
}
if (string.IsNullOrEmpty(controller))
{
throw new InvalidOperationException("Controller was not configured in component template metadata or in application settings. "
+ "Unable to Render component presentation.");
}
string action = _configuration.ComponentPresentationAction;
if (cp.ComponentTemplate.MetadataFields != null && cp.ComponentTemplate.MetadataFields.ContainsKey("action"))
{
action = cp.ComponentTemplate.MetadataFields["action"].Value;
}
if (string.IsNullOrEmpty(action))
{
throw new InvalidOperationException("Action was not configured in component template metadata or in application settings. "
+ "Unable to Render component presentation.");
}
_loggerService.Debug("about to render component presentation with controller {0} and action {1}", LoggingCategory.Performance, controller, action);
//return ChildActionExtensions.Action(htmlHelper, action, controller, new { componentPresentation = ((ComponentPresentation)cp) });
MvcHtmlString result = htmlHelper.Action(action, controller, new { componentPresentation = ((ComponentPresentation)cp) });
_loggerService.Debug("finished rendering component presentation with controller {0} and action {1}", LoggingCategory.Performance, controller, action);
return result;
}
示例8: Block
public static System.Web.WebPages.HelperResult Block(ExerciseBlock block, BlockRenderContext context, HtmlHelper Html)
{
return new System.Web.WebPages.HelperResult(__razor_helper_writer => {
WebViewPage.WriteLiteralTo(@__razor_helper_writer, "\t<div class=\"exercise\">\r\n");
ExerciseBlockData data = context.GetBlockData(block) ?? new ExerciseBlockData(context.Course.Id, context.Slide as ExerciseSlide) { IsGuest = context.IsGuest, IsLti = context.IsLti };
var manualCheckingId = context.ManualChecking != null ? (int?)context.ManualChecking.Id : null;
if (Html != null)
{
WebViewPage.WriteTo(@__razor_helper_writer, Html.Action("Submission", "Exercise", new { courseId = context.Course.Id, slideId = context.Slide.Id, submissionId = context.VersionId, manualCheckingId = manualCheckingId, isLti = data.IsLti, instructorView = manualCheckingId != null }));
}
else
{
WebViewPage.WriteLiteralTo(@__razor_helper_writer, "\t\t\t\t<div class=\"exercise__submission\">\r\n\t\t\t\t\t<textarea class=\"code code-exercise " +
"hidden\" data-lang=\"");
WebViewPage.WriteTo(@__razor_helper_writer, block.LangId);
WebViewPage.WriteLiteralTo(@__razor_helper_writer, "\">");
WebViewPage.WriteTo(@__razor_helper_writer, block.ExerciseInitialCode.EnsureEnoughLines(4));
WebViewPage.WriteLiteralTo(@__razor_helper_writer, "</textarea>\r\n\t\t\t\t\t<div class=\"loading-spinner\">\r\n\t\t\t\t\t\t<img src=\"/Content/loading" +
".gif\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t");
WebViewPage.WriteTo(@__razor_helper_writer, ExerciseControls(new ExerciseControlsModel(context.Course.Id, (ExerciseSlide)context.Slide)
{
IsCodeEditableAndSendable = true,
DebugView = data.DebugView,
RunSolutionUrl = data.RunSolutionUrl,
}));
WebViewPage.WriteLiteralTo(@__razor_helper_writer, "\r\n\r\n\t\t\t\t\t");
WebViewPage.WriteTo(@__razor_helper_writer, RunErrors());
WebViewPage.WriteLiteralTo(@__razor_helper_writer, "\r\n\t\t\t</div>\r\n");
}
WebViewPage.WriteLiteralTo(@__razor_helper_writer, "\t\t\r\n\r\n");
if (data.DebugView)
{
WebViewPage.WriteLiteralTo(@__razor_helper_writer, "\t\t\t<div>\r\n\t\t\t\t<h3>Подсказки</h3>\r\n\t\t\t\t<ol>\r\n");
foreach (var hint in data.Block.HintsMd)
{
WebViewPage.WriteLiteralTo(@__razor_helper_writer, "\t\t\t\t\t\t<li>\r\n\t\t\t\t\t\t\t");
WebViewPage.WriteTo(@__razor_helper_writer, MvcHtmlString.Create(hint.RenderMd(context.BaseUrl)));
WebViewPage.WriteLiteralTo(@__razor_helper_writer, "\r\n\t\t\t\t\t\t</li>\r\n");
}
WebViewPage.WriteLiteralTo(@__razor_helper_writer, "\t\t\t\t</ol>\r\n\t\t\t\t<h3>Комментарий после решения</h3>\r\n\t\t\t\t<p>");
WebViewPage.WriteTo(@__razor_helper_writer, data.Block.CommentAfterExerciseIsSolved);
WebViewPage.WriteLiteralTo(@__razor_helper_writer, "</p>\r\n\t\t\t</div>\r\n");
}
WebViewPage.WriteLiteralTo(@__razor_helper_writer, "\r\n");
if (context.ManualChecking != null)
{
var checking = (ManualExerciseChecking)context.ManualChecking;
WebViewPage.WriteTo(@__razor_helper_writer, Html.Partial("~/Views/Exercise/_ExerciseScoreForm.cshtml", new ExerciseScoreFormModel(context.Course.Id, (ExerciseSlide) context.Slide, checking, context.GroupId, context.VersionId == null || checking.Submission.Id == context.VersionId)));
//.........这里部分代码省略.........
示例9: GetCommentsList
private static MvcHtmlString GetCommentsList(HtmlHelper helper, IDataItem item, string title)
{
if (SystemManager.GetModule("Comments") == null || item == null)
{
return MvcHtmlString.Empty;
}
var itemTypeFullName = item.GetType().FullName;
var itemProviderName = item.GetProviderName();
var itemThreadKey = ControlUtilities.GetLocalizedKey(item.Id, null, CommentsBehaviorUtilities.GetLocalizedKeySuffix(itemTypeFullName));
var itemGroupKey = ControlUtilities.GetUniqueProviderKey(GetDataSourceName(item), itemProviderName);
var routeDictionary = new System.Web.Routing.RouteValueDictionary()
{
{ "AllowComments", GetAllowComments(item) },
{ "ThreadKey", itemThreadKey },
{ "ThreadTitle", title },
{ "ThreadType", itemTypeFullName },
{ "GroupKey", itemGroupKey },
{ "DataSource", itemProviderName }
};
var controllerName = itemThreadKey.EndsWith(ReviewsSuffix, StringComparison.Ordinal) ? CommentsHelpers.ReviewsControllerName : CommentsHelpers.CommentsControllerName;
MvcHtmlString result;
try
{
result = helper.Action(CommentsHelpers.IndexActionName, controllerName, routeDictionary);
}
catch (HttpException)
{
result = MvcHtmlString.Empty;
}
catch (NullReferenceException)
{
//// Telerik.Sitefinity.Mvc.SitefinityMvcRoute GetOrderedParameters() on line 116 controllerType.GetMethods() throws null reference exception (controllerType is null).
result = MvcHtmlString.Empty;
}
return result;
}
示例10: RenderTemplate
public void RenderTemplate(ContentItem item, HtmlHelper helper, TextWriter writer = null)
{
RouteValueDictionary values = GetRouteValues(helper, item);
if (values == null)
return;
var currentPath = helper.ViewContext.RouteData.CurrentPath();
try
{
var newPath = currentPath.Clone(currentPath.CurrentPage, item);
helper.ViewContext.RouteData.ApplyCurrentPath(newPath);
if (writer == null)
helper.RenderAction("Index", values);
else
writer.Write(helper.Action("Index", values));
}
finally
{
helper.ViewContext.RouteData.ApplyCurrentPath(currentPath);
}
}