小编Ruc*_*han的帖子

固定顶部和底部,可变高度中间的CSS布局

+-------------------+
|    Top (fixed)    |
+-------------------+
|                   |
|                   |
|   Middle (fill)   |
|                   |
|                   |
+-------------------+
|   Bottom (fixed)  |
+-------------------+
Run Code Online (Sandbox Code Playgroud)

顶部底部被固定的div.它们位于浏览器窗口的顶部和底部.我希望中间部分填充顶部和底部div之间的窗口的其余部分.

如果它的内容超过它的高度,那么我可以使用滚动条.但它的大小不应超过窗口.

我的CSS和HTML:

html, body, #main
{
  height: 100%;
}
#content
{
  background: #F63;
  width: 100%;
  overflow: auto;
  height: 100%;
  margin-bottom: -100px;
}
#footer
{
  position: fixed;
  display: block;
  height: 100px;
  background: #abcdef;
  width: 100%;
}
Run Code Online (Sandbox Code Playgroud)
<div id="main">
  <div id="content">xyz</div>
  <div id="footer">abc</div>
</div>
Run Code Online (Sandbox Code Playgroud)

从这里,页脚显示在底部,但内容div仍然填充整个窗口,应该是[窗口 - 页脚]高度.

html css

37
推荐指数
3
解决办法
6万
查看次数

Jquery Ajax Call,不会调用Success或Error

可能重复:
如何从函数中返回AJAX调用的响应?

我正在使用Jquery Ajax来调用服务来更新值.

function ChangePurpose(Vid, PurId) {
        var Success = false;
        $.ajax({
            type: "POST",
            url: "CHService.asmx/SavePurpose",
            dataType: "text",
            data: JSON.stringify({ Vid: Vid, PurpId: PurId }),
            contentType: "application/json; charset=utf-8",
            success: function (data) {
                Success = true;//doesnt goes here
            },
            error: function (textStatus, errorThrown) {
                Success = false;//doesnt goes here
            }

        });
        //done after here
        return Success;
    }
Run Code Online (Sandbox Code Playgroud)

和服务:

[WebMethod]
        public string SavePurpose(int Vid, int PurpId)
        {
            try 
            {
                CHData.UpdatePurpose(Vid, PurpId);
                //List<IDName> abc = new List<IDName>();
                //abc.Add(new IDName { Name=1, value="Success" …
Run Code Online (Sandbox Code Playgroud)

javascript jquery web-services

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

对所有内容进行后端(数据库端)验证是否切实可行?

使用后端验证我的意思是,在触发器,检查,程序(插入,更新,删除)等过程 中,它们现在是多么实用或必要,现在大多数这些验证都是在前端严格处理的.有多少后端验证对程序有用?是否应该从后端验证中删除小事?

例如:让我们说人们有年龄障碍输入数据.这可以使用触发器或年龄列中的检查在后端完成.它可以/也可以在前端完成.因此,在前端严格验证年龄时,是否有必要进行后端验证?

sql database

12
推荐指数
3
解决办法
8547
查看次数

登录时处理防伪造错误,同时已登录?ASP.NET MVC

当用户登录时,然后进入登录页面.如果他再次尝试登录,则会出现Anti forgery Error.

防伪令牌无法解密.如果此应用程序由Web场或群集托管,请确保所有计算机都运行相同版本的ASP.NET网页,并且配置指定显式​​加密和验证密钥.AutoGenerate不能在群集中使用.

我得到的另一种错误是:

提供的防伪令牌适用于与当前用户不同的基于声明的用户.

如何处理这种防伪造错误?

c# asp.net asp.net-mvc antiforgerytoken

10
推荐指数
1
解决办法
4537
查看次数

无法加载类型'System.ComponentModel.DataAnnotations.Schema.IndexAttribute'

我有这个错误. 无法加载类型'System.ComponentModel.DataAnnotations.Schema.IndexAttribute'ERROR

ApplicationDbContext是自动生成的DbContext,用于帐户部分.每当我尝试使用任何帐户控制器操作时,都会发生此错误.错误源自

  public AccountController()
            : this(new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext())))
        {
        }
Run Code Online (Sandbox Code Playgroud)

我有自己的DbContext,工作正常,并获得所有必需的数据.

参考文献很好.我该如何解决这个问题.

更新 我使用了一些更新的参考AspNet.Identity.它引起了这个问题吗?

更新2 当我混合两个成员资格提供程序版本时发生此错误.我首先使用MVC 5提供的默认值然后尝试使用MVC 3成员资格,然后再次回到MVC 5.然后这个错误开始弹出.

我还没有找到解决这个问题的方法.但是作为解决方法,我重新创建了Project以及我以前的所有文件,并且它有效.

c# entity-framework data-annotations dbcontext

8
推荐指数
1
解决办法
6111
查看次数

MVC DropDownList选中的值不起作用

我正在使用MVC 5.

我有我的ViewBag列表

ViewBag.TitleList = new SelectList((new string[] { "Mr", "Miss", "Ms", "Mrs" }), contact.Title);
//contact.Title has selected value.
Run Code Online (Sandbox Code Playgroud)

然后我尝试将数组转换为 SelectListItem ( to no avail)

在视图上它看起来像

@Html.DropDownListFor(model => model.Title, ViewBag.TitleList as SelectList, "Select")
Run Code Online (Sandbox Code Playgroud)

我也试过了

@Html.DropDownList("Title", ViewBag.TitleList as SelectList, "Select")
Run Code Online (Sandbox Code Playgroud)

列表加载成功但是Selected Value is Not selected.如何解决这个问题?

更新 罪魁祸首是ViewBag.Title匹配我的模型.标题.将我的模型属性重命名为其他内容并且有效.Arrgh!

c# asp.net-mvc selectlist html.dropdownlistfor asp.net-mvc-5

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

APNG与GIF.哪个更好?

我一直在使用Gifs来处理那些小的加载图像.除了偶尔的透明度问题和8位颜色外,一直很好用.现在我最近发现了APNG.但不知道我是否应该使用它.它有足够的浏览器支持吗?那么文件大小呢?一个大的GIF图像已经有大文件大小......

image gif apng

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

Linq to Sql Count包括连接

我有一个Linq to sql如下:

var members=db.Members.Include(x=> x.Contact).Count();
Run Code Online (Sandbox Code Playgroud)

现在由于一些不良数据,我的成员中的所有联系人都没有相应的联系人记录.因此,在计数期间,如何将内部联接后的计数包含在Contact表中.

问题是,当我获得成员列表时,成员列表有100个记录,而Count有150个记录(50个记录是坏数据).

var membersQ=db.Members.Include(x=> x.Contact).Select(i=> new MemberViewModel(){
 Name = i.Contact.Name,
 ContactId= i.Contact.Id,
 CreatedDate= i.CreatedDate
}).AsQueryable();
var members=memberQ.ToList();// =100,paging is done...
// the memebers list uses paging but the count doesn't
var total=membersQ.Count(); // =150
Run Code Online (Sandbox Code Playgroud)

我在计数期间检查了结果查询,显然它JOIN与Contact表没有关系Count()

更新 数据库结构

Member Table
Id   ContactId, CompanyId, CreatedDate ...

Contact Table
Id   Name ...
Run Code Online (Sandbox Code Playgroud)

Member表中ContactId的外键不是在数据库级别设置,而是仅在Model上设置.

[ForeignKey("ContactId")]
Public Contact Contact { get; set; }
Run Code Online (Sandbox Code Playgroud)

糟糕的数据是这样的

我之前有1,2,3,4,5,6,7,8,9,10作为联系人记录,所有这些联系人也在会员表中.

现在我从Contact表中删除记录,比如说6-10.但碰巧没有从会员表中删除.

所以这导致计数问题.是的,从会员中删除不良数据可以解决问题,但问题是如何使用join while using Count(). …

c# linq sql-server entity-framework

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

VerifyHashedPassword结果何时为SuccessRehashNeeded

Usermanager.VerifyHashedPassword结果PasswordVerificationResult.SuccessRehashNeeded什么时候会是?

如果出现这种结果怎么办?

使用时,VerifyHashedPassword我只能用进行检查Success。够了还是我应该检查一下Failed

asp.net-identity asp.net-identity-2

5
推荐指数
2
解决办法
2794
查看次数

使ASP.NET Identity 2.0电子邮件确认令牌适用于WCF和MVC

我有一个服务项目(WCF)和MVC项目,它使用相同的数据库来处理移动和接口部分的服务部分.我必须在两者上设置电子邮件确认.

我使用OWIN ASP.NET 2.0库进行身份验证,两个项目都有单独的UserManagers.

对于MVC

public static ApplicationUserManager Create(IdentityFactoryOptions<ApplicationUserManager> options, IOwinContext context)
{
  var dataProtectionProvider = options.DataProtectionProvider;
  if (dataProtectionProvider != null)
  {
    manager.UserTokenProvider = new DataProtectorTokenProvider<ApplicationUser>dataProtectionProvider.Create("ASP.NET"));
  }
}
Run Code Online (Sandbox Code Playgroud)

对于WCF

var provider = new Microsoft.Owin.Security.DataProtection.DpapiDataProtectionProvider("ASP.NET");
UserManager.UserTokenProvider =new Microsoft.AspNet.Identity.Owin.DataProtectorTokenProvider<ApplicationUser>(
provider.Create("EmailConfirm"));
var code = idManager.UserManager.GenerateEmailConfirmationToken(appuser.Id);
Run Code Online (Sandbox Code Playgroud)

问题 在MVC中生成的电子邮件确认令牌工作正常.

在WCF中,当我创建电子邮件确认令牌时,需要从MVC网站进行验证.在这里,它给了我"无效令牌".

我认为这是由于令牌代码不匹配,我试图让它们尽可能相同,但我不知道哪一个在Wcf和MVC之间.

顺便说一句.我在Visual Studio上测试localhost.

c# asp.net-mvc wcf asp.net-identity asp.net-identity-2

4
推荐指数
1
解决办法
2697
查看次数