我目前正在看这个:
但不知道如何处理这段代码:
string url = helper.BuildUrlFromExpression<T>(action);
Run Code Online (Sandbox Code Playgroud)
这是我可以使用的MVC辅助方法吗?任何反馈都将非常感激.谢谢!
基督教
我想将htmlAttributes作为参数传递给我的HtmlHelper,类似于在Html.ActionLink中创建的("linktext","Home",null,new {width ="100px"})如何传递这个新的{width ="100px"}我的方法
public static string SelectCategoryAdminWithAllItem(this HtmlHelper htmlHelper, string name, **???**)
{ }
Run Code Online (Sandbox Code Playgroud)
以及如何解析它?
谢谢
我有一个关于如何创建自定义View Helpers的问题.我想在我的索引视图中更改我的默认日期时间格式.我想编写自己的Helper,因为我觉得它很容易就像PHP一样.我做了:
创建类:
public static class CustomViewHelpers
{
public static MvcHtmlString returnDateString(string format, DateTime date)
{
return MvcHtmlString.Create(date.ToString(format));
}
}
Run Code Online (Sandbox Code Playgroud)我把它添加到web.config中,
我这样用过:
<p><em>
Birth date</em>
<%: CustomViewHelpers.returnDateString("D", Model.Birth_Date); %></p>
Run Code Online (Sandbox Code Playgroud)但我总是得到错误:
编译错误
描述:编译服务此请求所需的资源时发生错误.请查看以下特定错误详细信息并相应地修改源代码.
编译器错误消息:CS1026 :)预期
但我认为这是一个错误的错误,因为当我删除我的线它正常工作,我看到有这些")"标记.你能解释一下为什么这种助手不起作用吗?也许你知道如何在ASP.NET MVC2中编写自己的帮助程序的好教程?
我被要求查看一些ASP.Net MVC代码中的错误,并且(对我来说)SelectList有一个非常奇怪的问题.
来自控制器的代码生成项(返回SelectList的方法,总共有5个).然后将每个SelectList保存到ViewData集合中.
List<SelectListItem> items = new List<SelectListItem>();
string yesText = "Yes";
string noText = "No";
if (ci.LCID.Equals((int)LanguageCodes.FRANCE))
{
yesText = "Oui";
noText = "Non";
}
SelectListItem yesItem = new SelectListItem();
yesItem.Text = yesText;
yesItem.Value = ((int)MarketingBy.Yes).ToString();
yesItem.Selected = selectedValue != null && selectedValue.Equals(int.Parse(yesItem.Value));
SelectListItem noItem = new SelectListItem();
noItem.Text = noText;
noItem.Value = ((int)MarketingBy.No).ToString();
noItem.Selected = selectedValue != null && selectedValue.Equals(int.Parse(noItem.Value));
items.Add(yesItem);
items.Add(noItem);
return new SelectList(items, "Value", "Text", yesItem.Selected ? yesItem.Value : noItem.Value);
Run Code Online (Sandbox Code Playgroud)
在创建点快速"快速观察"表明一切正常: 选择列表生成http://i52.tinypic.com/x3hd3r.png
在渲染视图时,值仍然可以正常显示.但是,加载视图时,始终会选择列表中的第一个项目.生成的HTML是:
<tr> …Run Code Online (Sandbox Code Playgroud) 在标签标签上附加点击事件是不可能的,但我不明白为什么.
jQuery lib位于:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"
type="text/javascript"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function () {
$('label').('click', function () {
alert("this is the click on label!");
return false;
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
在我的View MVC 2.0页面上,我有一个国家列表,要绑定一组复选框:
<label><input id='country_<%=country.CountryID%>'
type="checkbox" name="country" value="on"/> <%=country.CountryName %>
</label><br />
Run Code Online (Sandbox Code Playgroud)
当我点击labelIE9,Chrome 12或Firefox 5 上没有任何反应时.
我买了pro asp.net mvc2框架书.我在第122页遇到了困难.我无法理解为什么会这样.
我已经通过电子邮件发送了作者,但还没有收到任何回复.这是代码,有人可以向我解释为什么它的工作原理.
public static class PagingHelpers
{
public static MvcHtmlString PageLinks(this HtmlHelper html, PagingInfo pagingInfo, Func<int, string> pageUrl)
{
StringBuilder result = new StringBuilder();
for (int i = 1; i <= pagingInfo.TotalPages; i++)
{
TagBuilder tag = new TagBuilder("a");
tag.MergeAttribute("href", pageUrl(i));
tag.InnerHtml = i.ToString();
if (i == pagingInfo.CurrentPage)
tag.AddCssClass("selected");
result.AppendLine(tag.ToString());
}
return MvcHtmlString.Create(result.ToString());
}
}
Run Code Online (Sandbox Code Playgroud)
这个PageLinks辅助方法需要3个参数,但是在本书后面,当作者调用它时,
<%: Html.PageLinks(
new PagingInfo { CurrentPage = 2, TotalItems = 28, ItemsPerPage = 10 },
i => Url.Action("List", new{ page = i}) …Run Code Online (Sandbox Code Playgroud) 我知道这必须是重复的,但我一直在涉及这方面的大量信息,我无法让它工作.
我正在尝试让一个站点在客户端的服务器上运行,并且他们将站点安装在虚拟目录中.我本地没有这个设置,所以我在这里盲目飞行.
我正在尝试建立一个图像的路径.(这是Facebook OpenGraph元数据).
我需要图像的路径是一个完全合格的绝对URL.我尝试过很多东西,但似乎没什么用.下面的代码输出一个相对url,但这不起作用.
<% var urlHelper = VirtualPathUtility.ToAbsolute("~/static/images/image.jpg");%>
<meta property="og:image" content="<%=urlHelper%>" />
Run Code Online (Sandbox Code Playgroud)
输出:
<meta property="og:image" content="/static/images/image.jpg" />
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
<% var serverHost = HttpContext.Current.Request.Url; %>
<meta property="og:image"
content="<%=serverHost + "/static/images/image.jpg"%>" />
Run Code Online (Sandbox Code Playgroud)
但那产生了:
<meta property="og:image"
content="http://localhost:51863/ViewFile.aspx/static/images/image.jpg" />
Run Code Online (Sandbox Code Playgroud)
我正在寻找http://example.com/virtualdirectory/static/images/image.jpg
任何帮助都感激不尽.我真的不想对网址进行硬编码.
谢谢,斯科特
我忽略了提到我的第一次尝试是Url.Content("〜/ .... jpg)但是它输出了一个相对的url,而不是一个绝对的url.
我有这个代码:
return RedirectToAction("Save", "RequestFinishedDocument",
new {requestId = requestFinished.Request_ID, requestFinishedId = requestFinished.ID});
Run Code Online (Sandbox Code Playgroud)
在我的控制器中,我有:
public class RequestFinishedDocumentController : Controller
{
[HttpPost]
public JsonResult Save(int requestId, int requestFinishedId)
{
//todo
}
}
Run Code Online (Sandbox Code Playgroud)
但在RedirectToAction呼叫我得到的异常消息: 一项公开的操作方法"保存"并没有对控制器"SuiP.Controllers.RequestFinishedDocumentController"找到.
怎么了?
谢谢
我需要使用viewbag将值传递给视图中的jQuery.我想要实现的是传递null或一些值,然后jQuery应隐藏或显示div,具体取决于传递的值,例如下面的内容:
viewbag.testNumber = null;
$('#showdiv').hide();
$('viewbag.testNumber').value == someinteger{
$("#showdiv").show();
else
$("#showdiv").hide();
});
<div id="showdiv"> Some Calculation </div>
Run Code Online (Sandbox Code Playgroud)
此外,如果值为null,我想在视图中禁用viewbag,因为它给出了null错误
我试图在MVC 2.0应用程序上设置Windows身份验证.一切都在配置中,现在我基本上只想允许经过身份验证的用户并拒绝匿名用户:
<authentication mode="Windows" />
<authorization>
<deny users="?"/>
<allow users="*"/>
</authorization>
Run Code Online (Sandbox Code Playgroud)
在IIS网站上,我已禁用所有其他身份验证类型,但Windows身份验证.
现在问题是:当我将其设置为IIS中"默认网站"下的应用程序时,一切都按预期工作; 系统会提示用户输入凭据,并根据Web服务器上的帐户进行身份验证.
但是当我在同一个IIS根目录上创建一个新网站时,身份验证不再有效.应用程序和网站都在同一个应用程序池中的同一个框上运行,并且引用磁盘上的相同物理位置.
我真的没有想法,非常感谢任何建议.
asp.net-mvc-2 ×10
asp.net-mvc ×5
c# ×3
html-helper ×2
jquery ×2
asp.net ×1
click ×1
html ×1
label ×1
selectlist ×1