小编CSh*_*Bee的帖子

ASP.NET身份和声明

我正试图摆脱WebForms并学习MVC,特别是使用新的ASP.NET身份模型.但是,我似乎无法找到Microsoft的任何正式文档,它们演示了如何创建声明对象,并将其存储在数据库中以供经过身份验证的用户使用.

我的网站,需要做以下事情:

  1. 验证用户 - TICK
  2. 创建一个声明,并在其中存储用户信息,以便我可以在整个会话中使用它 - 没有提示
  3. 从新的ASP.NET角色表中撤回用户角色 - NOT TICK

任何人都可以阐明如何实现这一目标吗?

asp.net-mvc claims-based-identity

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

删除Datatable上的搜索过滤器

我在我的DataTable中应用了一个按钮,点击该按钮,过滤数据表,只显示点击的行.

表初始化是:

       var oDatatable = $("#tblDataTable").DataTable({
            dom: '<"top"CRTl><"clear">rt<"bottom"ip><"clear">',
            columns: [
                                   { data: 'Message' },
                { data: 'MessageId' },
                { data: null, "defaultContent": "<button id=\"tblRowData\">Click</button>"}
            ],

            "columnDefs": [
             { "visible": false, "targets": 0 }
            ]
           });
Run Code Online (Sandbox Code Playgroud)

我的点击事件是:

    $('#tblDataTable tbody').on('click', 'button', function (event) {
    var data = oDataTable.row($(this).parents('tr')).data();
    oDataTable
     .columns(8)
     .search(data['MessageId'])
     .draw();
Run Code Online (Sandbox Code Playgroud)

这一切都很好,但现在我想重置过滤器,当页面上的任何其他操作执行.例如,更改日期时间选择器.

如何检查数据表是否应用了搜索过滤器,并将其删除(即在单击事件之前重置表格).

datatables jquery-datatables datatables-1.10

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

在foreach的声明中调用方法

我有一个foreach调用一个方法来获取它的集合.

 foreach(var item in GetItemDetails(item))
 {
 }
Run Code Online (Sandbox Code Playgroud)

Visual Studio并没有抱怨这一点,Resharper也没有,在我继续使用这种方法之前,我想伸出手来检查它是否是推荐的方法.

c# foreach

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

将新数据加载到Jquery DataTables中

我将数据加载到我的表中,如下所示:

 $(document).ready(function () {

     var variable= 'sometext'

     $.ajax({
         type: "POST",
         url: "GetJSON.ashx",
         cache: false,
         data: { param: variable},
         dataType: "json",
         success: function (data) {

             var html = '';
             for (var key = 0, size = data.length; key < size; key++) {
                 html += '<tr><td>' + data[key].SessionID + '</td><td>'
                 + data[key].val1+ '</td><td>'
                 + data[key].val2+ '</td><td>'
                 + data[key].val3+ '</td><td>'
                 + data[key].val4+ '</td><td>'
                 + data[key].val5+ '</td><td>'
                 + data[key].Status + '</td></tr>'
             }
             $('#table).append(html);

             otableName = $('#table).dataTable({
                 //"bDestroy": true,
                 "bPaginate": true,
                 "sPaginationType": "bootstrap",
                 "iDisplayLength": 20, …
Run Code Online (Sandbox Code Playgroud)

jquery-datatables

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

收拾一根绳子

我正在寻找最佳解决方案,性能明智,通过删除不完整单词的单词来重建字符串.在这个例子中,一个可接受的单词是一个没有数字的整个单词,或者不是以正斜杠或反斜杠开头.所以只是字母,但可以包括连字符和撇号

例如:

String str ="\DR1234 this is a word, 123456, frank's place DA123 SW1 :50:/"

使用上面我需要一个返回以下内容的新字符串:

Str = "this is a word, frank's place"

我已经做了一些研究Regex,但我找不到任何可以做我需要的东西.

最终代码段

var resultSet = Regex.Matches(item.ToLower(), @"(?:^|\s)(?![\\\/])(?!-+(?:\s|$))(?!'+(?:\s|$))(?!(?:[a-z'-]*?-){3,})(?!(?:[a-z'-]*?'){2,})[a-z'-]+[,.]?(?=\s|$)")
                .Cast<Match>()
                .Select(m => m.Value).ToArray();
Run Code Online (Sandbox Code Playgroud)

感谢所有投入的人 - 证明这是一个很棒的网站

c# regex

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

小巧的插入,检查是否存在记录

所以我一直在使用这种方法将记录插入我的数据库:

TransactionBlock.Connection.Execute(
                            "INSERT Table(Item,Id)VALUES(@Item, @Id);
                            new {Item,Id = id }, TransactionBlock.Transaction);
Run Code Online (Sandbox Code Playgroud)

我现在需要修改它,首先使用以下内容检查Item/id是否已经在数据库中:

const sql ="IF EXISTS(SELECT*FROM Table,where Item = @ Item ... etc etc.

但我没有遇到过如何实现这一目标的任何例子.我可以通过创建存储过程来实现这一点,但我想尝试使用这种方法来完成.

c# dapper

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

尝试使用fiddler获取oauth令牌

我一直在关注多元化的Scott Allen的ASP.NET MVC 5 Fundamentals,并且可以使用一个简单的HTML页面成功请求令牌,但现在需要尝试使用fiddler来做这件事.我需要使用fiddler测试它的原因是,这实际上是我的apu被调用的方式.正在写一个ios设备应用程序,我必须做api部分.

所以,我在小提琴手中输入了followdin:

标头:

 POST http://localhost:53140/token HTTP/1.1
    Content-Type: application/json
    Host: localhost:53140
    Content-Length: 50
Run Code Online (Sandbox Code Playgroud)

BODY:grant_type =密码:

{"userName":"something",
"password":"password"}
Run Code Online (Sandbox Code Playgroud)

我得到了一个400 - 不好的请求.

我已将内容类型更改为:application/x-www-form-urlencoded但仍为400.

我究竟做错了什么?

编辑

即使尝试"用户名=用户名和密码=密码"仍然没有喜悦

编辑

哎呀,grant_type在错误的地方.这需要在身体中:

grant_type:密码和用户名:用户名和密码:密码

现在我得到的用户名或密码无效:

{"error":"invalid_grant","error_description":"用户名或密码不正确."}

我会留下活跃的帖子,因为这可能是一个红鲱鱼.

api asp.net-mvc fiddler asp.net-web-api

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

性能问题将大型数据集加载到c#GridView中

好,

我一直在测试相对较小的数据集到我的GridView中,并且一切正常.但是,我现在已经进入适当的UAT,并试图将17,000条记录加载到我的网格中,这基本上使我的网络应用程序停止了.

基本上,用户登录,并在验证时加载所有数据网格,其中一个包含17k记录.在所有内容加载之前,最终用户将继续处理登录页面.所以我需要解决它.

网格的代码是:

DataTable dtValueDateCurrency = null;               
SqlConnection conn = new SqlConnection(WebConfigurationManager.ConnectionStrings["Reporting"].ConnectionString);
using (conn)
{
    conn.Open();
    //Load all other grid data
    using (SqlDataAdapter sqlAdapter = new SqlDataAdapter(TSQL1, conn))
    {
        dtValueDateSummary = new DataTable();
        sqlAdapter.Fill(dtValueDateSummary);
        grdValueDateSummary.DataSource = dtValueDateSummary;
        grdValueDateSummary.DataBind();
    }
 }
Run Code Online (Sandbox Code Playgroud)

有没有办法增加加载时间?分页不是一种选择,因为我正在使用JQuery来处理这个问题.

c# asp.net gridview

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

Glimpse ASp.NET和Dapper.NET

任何人都可以对Gapmpse与Dapper的使用有所了解,还是纯粹只是为了Entity Framework?

编辑

 public List<UserRole> GetUserRoles(string userName)
    {
        using (var block = new TransactionBlock())
        {
            const string sql = "SELECT AspNetRoles.Name FROM AspNetUsers INNER JOIN " +
                               "AspNetUserRoles ON AspNetUsers.Id = AspNetUserRoles.UserId INNER JOIN " +
                               "AspNetRoles ON AspNetUserRoles.RoleId = AspNetRoles.Id " +
                               "WHERE (AspNetUsers.UserName = @userName)";
            var results = TransactionBlock.Connection.Query<UserRole>(sql, new{userName}, transaction: TransactionBlock.Transaction).ToList();
            block.Commit();
            return results;
        }
    }
Run Code Online (Sandbox Code Playgroud)

*编辑*

public class TransactionBlock : IDisposable
{
    private bool m_FirstTransactionBlock = false;
    private bool m_Disposed = false;

    public TransactionBlock(string connectionStringConfigKey …
Run Code Online (Sandbox Code Playgroud)

glimpse dapper

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

dapper.net多重删除问题

我正在尝试从ac#class中的两个不同的vairables中删除两个表,但是我收到以下错误消息:

使用多映射API时,如果您具有Id参数名称以外的键,请确保设置splitOn参数:splitOn

通过SQL事件探查器捕获命令时,sql语句执行正常,所以我很难过.

精巧的代码是:

 public void DeleteListCode(string listCodeId)
    {
       using (var block = new TransactionBlock())
       {
           // Get the code first
           const string sql = "SELECT ListCode from ListCodes WHERE id =@listCodeId";
           var code = TransactionBlock.Connection.Query<string>(sql, new {listCodeId}, TransactionBlock.Transaction)
              .FirstOrDefault();

           if (string.IsNullOrEmpty(code)) return;

           const string sql2 = "delete from Lists WHERE ListCode = @code " +
                               "delete from ListCodes where Id = @listCodeId";

            TransactionBlock.Connection.Query(sql2, new {listCodeId, code}, TransactionBlock.Transaction);
           block.Commit();
       }
    }
Run Code Online (Sandbox Code Playgroud)

我已成功设法使用多选语句,但这在我使用两个自治参数的意义上略有不同.

c# dapper micro-orm

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

颜色半个图标,使用CSS

我有一个进度条,代表邮件被批准的阶段.该消息可以部分批准,并需要第二次批准.因此,我需要代表以下内容,只有一半的图标为绿色.这可能吗?

<div class="stepwizard-step">
  <button type="button" class="btn btn-success btn-circle" disabled="disabled">1</button>
  <p>partially approved/approved</p>
</div>
Run Code Online (Sandbox Code Playgroud)

编辑 在此输入图像描述

编辑 我正在使用Bootstrap 3.1.1

编辑 亚历克斯,几乎在那里,只需要向前移动文本:

在此输入图像描述

css是:

       .partially-approved {
            border-radius: 50%;
            background: #FFF;
            border: 1px solid #000;
            position: relative;
            overflow: hidden;
        }
        .partially-approved:before {
            background-color: #5cb85c;
            content: " ";
            position: absolute;
            left: 0;
            top: 0;
            right: 50%;
            height: 100%;
        }
Run Code Online (Sandbox Code Playgroud)

这是适用的:

$('button#stage3').attr("class", "btn partially-approved btn-circle");
Run Code Online (Sandbox Code Playgroud)

css jquery

0
推荐指数
1
解决办法
1807
查看次数