我得到了这个Jquery(感谢用户@Saranga)我应该按我的方法:
$( ".photography-image" ).click(function() {
e.preventDefault();
$("<div></div>")
.addClass("dialog")
.appendTo("body")
.dialog({
close: function() { $(this).remove(); },
modal: true,
height: 500,
width: 500
})
.load("/Home/EditPhoto?id=" + $(this).data("imgId"));
});
这是它应该达到的方法:
public ActionResult EditPhoto(string id)
{
var photo = RavenSession.Load<ContentPage>(id) as Photography;
return PartialView("_editPhoto", photo);
}
以下是一些相关观点:
@foreach (var item in Model.Photographys)
{
<li class="span3" style="text-align: center">
<div class="thumbnail thumbnail-1">
<h3 style="margin-bottom: 10px;">@item.Name</h3>
<div class=""><div class=""><img src="@item.ImgUrl" alt="" class="photography-image" data-imgid="@item.Id" style="visibility: visible; opacity: 1;"></div></div>
</div>
</li>
}
当我在方法中放置一个断点并单击应触发该方法的图像时,没有任何反应,对此有什么想法吗? 谢谢!
路线:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{xid}",
defaults: new { controller = "Home", action = "Index", xid = UrlParameter.Optional }
);
答案 0 :(得分:3)
问题出在e.preventDefault();
。
你没有&#34; e&#34;定义为事件。
正如我所看到的,没有为元素定义onclick,删除e.preventDefault();
,它将起作用。
答案 1 :(得分:2)
以下是关于追踪这些类型问题的更多背景信息。没有什么比你依赖的框架不与你合作更令人沮丧。缩小问题的范围对解决问题非常有帮助。以下是我使用的步骤:
查看浏览器的javascript控制台。是否有任何错误可能会阻止以后的代码执行?
在导航日志中查看浏览器活动(我更喜欢Webkit调试器 - Chrome或Safari)。浏览器实际上是否发送了网络请求?
网络请求收到了什么回复?
导航日志中的url和action方法的签名之间的参数名称是否匹配?它们是否与现有路线匹配?
如果是这样,服务器上是否记录了错误?
使用全局属性记录您的请求。有关跟踪服务器所见内容的一种方法,请参阅DebugInfoAttribute。
public override void OnResultExecuted(ResultExecutedContext filterContext)
{
var browser = filterContext.HttpContext.Request.Browser;
filterContext.HttpContext.Response
.Write(string.Format(_outputFormat,
HttpContext.Current.Request.ServerVariables["SERVER_NAME"],
String.Format("{0}({1})",browser.Browser,browser.Version),
filterContext.RouteData.Values["controller"],
filterContext.RouteData.Values["action"],
_startWatch.ElapsedMilliseconds));
}
在这种情况下,e.preventDefault();
会出现在javascript控制台中。从已接受的答案可以看出,您的问题将在第一步得到解决。使用这样的系统方法可以通过为您提供攻击计划来消除挫败感。希望它有所帮助!
答案 2 :(得分:0)
通过&#34; e&#34;这样的功能:
$(&#34; .photography-image&#34;)。click(功能( e ){