小编Cra*_*g M的帖子

从部分填充剃刀部分

我尝试这样做的主要动机是获取Javascript,只需要页面底部的部分Javascript和其他Javascript,而不是在部分呈现的页面中间.

这是我正在尝试做的简化示例:

这是在正文之前的Scripts部分的布局.

<!DOCTYPE html>
<html>
<head>
    <title>@ViewBag.Title</title>
    <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />    
</head>

<body>
    @RenderBody()
    <script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>
    @RenderSection("Scripts", false)
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

这是使用此布局的示例视图.

<h2>This is the view</h2>

@{Html.RenderPartial("_Partial");}

@section Scripts {
<script type="text/javascript">
        alert("I'm a view.");
</script>
}
Run Code Online (Sandbox Code Playgroud)

这是从视图中呈现的部分内容.

<p>This is the partial.</p>

@* this never makes it into the rendered page *@
@section Scripts {
<script type="text/javascript">
    alert("I'm a partial."); 
</script>
}
Run Code Online (Sandbox Code Playgroud)

在此示例中,视图中指定的标记放在节中,但不包含部分标记.是否可以使用Razor从局部视图填充部分?如果没有,还有哪些其他方法可以获取Javascript,只需要页面底部的部分内容,而不是全局包含它?

javascript razor asp.net-mvc-3

99
推荐指数
6
解决办法
4万
查看次数

通过Javascript在浏览器中获取选定的HTML

我要求我的网络应用程序允许用户"仅打印选择".换句话说,用户选择文本和可能的图像,然后单击此选项.我已经看到了使用Javascript获取所选文本的示例,但是没有找到获取所选html本身的解决方案.

举个例子,如果我有这样的文件:

<html>
<head>
</head>
<body>
    <p>A bunch of text</p>
    <img src="someimage.jpg" />
    <p>Even more text</p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

如果用户突出显示图像和第二段,我希望javascript返回:

<img src="someimage.jpg" />
<p>Even more text</p>
Run Code Online (Sandbox Code Playgroud)

这是可能的,如何去做呢?

编辑:我最终选择了一个名为Rangy的js库.

javascript

16
推荐指数
2
解决办法
2万
查看次数

在EF Code First中启用级联删除而不暴露外键

在不暴露外键的情况下执行一对多关系的删除时,EF会删除父记录并尝试使子记录上的外键为空.这当然会导致错误,因为外键不可为空.将外键添加到子类会覆盖此行为,但我宁愿不公开它.

例如,给定以下两个类,我不希望将JobId作为Project类的属性.

public class Job : ModelBase
{
    [Required]
    [StringLength(100)]
    public string Company { get; set; }

    [Required]
    [StringLength(100)]
    public string JobTitle { get; set; }

    public ICollection<Project> Projects { get; set; }
}

public class Project : ModelBase
{
    [Required]
    [StringLength(100)]
    public string Name { get; set; }

    [Required]
    public string Summary { get; set; }

    public int JobId { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法在EF Code First中启用级联删除而不在关系的多方面暴露外键?

entity-framework one-to-many code-first cascading-deletes

14
推荐指数
1
解决办法
8068
查看次数

Asp.Net Ajax Toolkit AsyncFileUpload - "文件附加无效"错误

我正在尝试使用Asp.net Ajax控件工具包中的AsyncFileUpload控件(2009年9月30日稳定版本:30930).我已经创建了一个演示应用程序,控件工作正常.文件上传,一切都很好.

当我尝试在我的实际应用程序中使用该控件时,我总是收到一条错误,指出"附加的文件无效".当上载的文件为null时,AsyncFileUpload控件将返回此值.

为了隔离问题,我创建了一个与我的演示应用程序中的母版页完全相同的新母版页.我还创建了一个aspx页面,就像我的演示应用程序中的页面一样.上载仍然失败,并显示"附加的文件无效"错误.

我还比较了真实应用程序和演示应用程序的web.config,但无法确定任何重要的差异.

下面的代码是我真实应用中的测试代码.此代码与演示应用程序中的功能代码完全相同,但具有不同的类名和文件名除外.下面列出的web.config来自真实应用程序,删除了appsettings和connectionstrings.

在这一点上,我完全难过.

Real App Test Master Page:

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="aaaMasterPage.master.cs" Inherits="L1Admin.aaaMasterPage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>
    <script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>    
    <asp:ContentPlaceHolder id="head" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body>
    <form id="form1" runat="server">
    <asp:ScriptManager ID="scriptManager" EnablePartialRendering="true" runat="server" AsyncPostBackTimeout="180" />    
    <div>
        <asp:ContentPlaceHolder id="content" runat="server">

        </asp:ContentPlaceHolder>
    </div>
    </form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

测试页面:

<%@ Page Language="C#" MasterPageFile="~/aaaMasterPage.master" AutoEventWireup="true" CodeFile="aaaFileUploadTest2.aspx.cs" Inherits="aaaFileUploadTest2" Title="Untitled Page" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajax" %>

    <asp:Content ID="Content1" ContentPlaceHolderID="head" …
Run Code Online (Sandbox Code Playgroud)

asp.net ajaxcontroltoolkit asyncfileupload

11
推荐指数
1
解决办法
3万
查看次数

使用Iron Router进行waitOn订阅,该订阅依赖于来自其他订阅的文档的数据

我在配置waitOn路由的一部分时遇到问题,其中一个订阅的参数由来自不同订阅的文档中的值确定.

游戏中的收藏品是候选人和访谈.面试将只有一名候选人.这是一些示例数据:

candidate = {
    _id: 1
    firstName: 'Some',
    lastName: 'Developer'
    //other props
};

interview = { 
    _id: 1,
    candidateId: 1
    //other props
};
Run Code Online (Sandbox Code Playgroud)

路由配置如下.

this.route('conductInterview', {
    path: '/interviews/:_id/conduct', //:_id is the interviewId
    waitOn: function () {
        return [
            Meteor.subscribe('allUsers'),
            Meteor.subscribe('singleInterview', this.params._id),
            // don't know the candidateId to lookup because it's stored
            // in the interview doc
            Meteor.subscribe('singleCandidate', ???), 
            Meteor.subscribe('questions'),
            Meteor.subscribe('allUsers')
        ];
    },
    data: function () {
        var interview = Interviews.findOne(this.params._id);
        return {
            interview: interview,
            candidate: Candidates.findOne(interview.candidateId);
        }; …
Run Code Online (Sandbox Code Playgroud)

meteor iron-router

9
推荐指数
2
解决办法
1558
查看次数

将列表拆分为字母范围

我需要将列表拆分为多个列表,这些列表根据字符串属性的第一个字符进行分组.这是一个例子.

class Program
{
    static void Main(string[] args)
    {
        var makes = new List<VehicleMake>
                        {
                            new VehicleMake {Name = "Acura"},
                            new VehicleMake {Name = "AMG"},
                            new VehicleMake {Name = "Audi"},
                            new VehicleMake {Name = "BMW"},
                            new VehicleMake {Name = "Chevrolet"},
                            new VehicleMake {Name = "Datsun"},
                            new VehicleMake {Name = "Eagle"},
                            new VehicleMake {Name = "Fiat"},
                            new VehicleMake {Name = "Honda"},
                            new VehicleMake {Name = "Infiniti"},
                            new VehicleMake {Name = "Jaguar"}
                        };

        var balancedLists = makes.Balance(new List<BalancedListGroup>
                          {
                              new BalancedListGroup { …
Run Code Online (Sandbox Code Playgroud)

c# list

7
推荐指数
1
解决办法
2670
查看次数

JavaScriptMVC(JMVC)教程

我有兴趣学习JavaScriptMVC.我已经阅读了"入门"和一些官方文档,但我通过查看其他人的代码来学习.我没有找到使用它的教程或示例/开源应用程序的其他方法.

任何人都知道好的教程或开源应用程序我可以看看它是如何在更复杂的应用程序中使用的?

PS:我知道Srchr教程,但是工作中的代理阻止我使用getjs获取代码.有什么地方可以从网上下载吗?如果没有,我会在本周末在家里抓住它.

javascriptmvc

6
推荐指数
1
解决办法
8526
查看次数

哪种jQuery选择方法更快?

我想知道在使用jQuery进行选择时使用context参数与使用普通的CSS范围选择器相比是否有任何优势.

假设我有这个HTML:

<div class="contacts">
    <h1>All contacts</h1>
    <div class="contact new">
        <p class="name">Jim Jones</p>
        <p class="phone">(555) 555-1212</p>
    </div>
    <div class="contact new">
        <p class="name">Bob Smith</p>
        <p class="phone">(555) 555-1213</p>
    </div>
    <div class="contact new">
        <p class="name">Dave Baker</p>
        <p class="phone">(555) 555-1214</p>
    </div>
    <div class="contact">
        <p class="name">Pete Harrison</p>
        <p class="phone">(555) 555-1215</p>
    </div>
    <div class="contact">
        <p class="name">George Donald</p>
        <p class="phone">(555) 555-1216</p>
    </div>
    <div class="contact">
        <p class="name">Chris Root</p>
        <p class="phone">(555) 555-1217</p>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

如果我想从联系人div中获取所有新联系人(标记为'new'类),哪种方法更快,更好地扩展等等.?

$('.contacts .new');
Run Code Online (Sandbox Code Playgroud)

要么

$('.new', '.contacts');
Run Code Online (Sandbox Code Playgroud)

的jsfiddle

更新

在答案和评论中散布着很多很棒的信息.总结一下主要观点,在大多数浏览器中,当存在多个.contacts div时,单个选择器会更好地扩展.在大多数浏览器中,两个选择器上下文方法更快,只有一个.contacts div存在.

从中获取的有用之处是我们可以在选择具有id的元素内部时使用一种方法.

$('p:first', '#chapter2'); // get …
Run Code Online (Sandbox Code Playgroud)

performance jquery

5
推荐指数
1
解决办法
169
查看次数

LINQ查询以检索多级关系数据

我刚刚开始使用asp.net mvc并且我想知道如何从from子句中指定的实体获得超过一级深度的关系数据.使用以下域模型作为示例:

博客有很多帖子.帖子有很多评论.

我如何编写LINQ查询以将实体返回到Blog.Posts.Comments级别?

我提出的唯一(不那么优雅)解决方案是使用LINQ查询来获取博客和帖子,然后使用foreach来获取评论.

var blog = (from b in _db.BlogSet.Include("Posts")
            select b);

foreach (Post p in blog.Posts)
{
    var comments = (from c in _db.CommentSet
                    where c.PostId = p.Id
                    select c);

    p.Comments = comments;

}
Run Code Online (Sandbox Code Playgroud)

linq asp.net-mvc

4
推荐指数
2
解决办法
4020
查看次数

DropDownList有一个SelectedValue,它是无效的,因为它在项列表中不存在

这是场景:

DropDownList中的选择是从列出可接受值的DB表中绑定的.在某个时间点,价值观是:

一二三四

稍后,可接受值列表将更改为:

一二五四

但是,存储下拉列表值的DB中的字段在某些行上仍包含值"Three".加载其中一行并设置SelectedValue时:

dd.SelectedValue = data.Field; // where data.Field == "Three"
Run Code Online (Sandbox Code Playgroud)

...抛出一个错误:'dd'有一个SelectedValue,它是无效的,因为它在项目列表中不存在.

数据清理不是一个选项.这会给客户带来问题,因为存储的值不是对已创建的数据的无效选择,而是对新创建的数据的无效选择.

别人怎么处理这种情况?

asp.net list.selectedvalue drop-down-menu

2
推荐指数
1
解决办法
7106
查看次数

如何在EF中比较区分大小写的字符串?

ValidateUser使用EF 的会员提供者非常简单

public override bool ValidateUser(string username, string password)
{
    // Validate User Credentials
    var r = db.ST_Users.FirstOrDefault(
                           x => x.Username.Equals(username) && 
                                x.Password.Equals(password));
    return r != null ? true : false;
}
Run Code Online (Sandbox Code Playgroud)

true无论我是否使用balexandre或,它都会返回(查找并检索孔对象)BAleXanDre.

如何在区分大小写模式下启用EF进行比较?

我知道如何比较不区分大小写(使用StringComparison.CurrentCultureIgnoreCase重载,但我只是想要相反)

linq asp.net-membership entity-framework-4

2
推荐指数
1
解决办法
3790
查看次数