小编Rem*_*ima的帖子

带有ajax的jQuery.each()目标元素,始终以循环中的最后一项为目标

我有一个unordered list,我正在遍历每个li孩子ul:

<ul>
<li value="1">Item 1</li>
<li value="2">Item 2</li>
<li value="3">Item 3</li>
<li value="4">Item 4</li>
<li value="5">Item 5</li>
<ul>

<script>
    $(function(){
        $("ul").children("li").each(function(idx, el){
            e = $(el); // Assign the element

             $.ajax({
            type: "POST",
            url: "/_ajax/_myService.svc/getRandomNumber",
            data: '{}',
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (msg) {                    
                e.text(e.text() + " (" + msg.d + ")")
            }
        });
    });
</script>
Run Code Online (Sandbox Code Playgroud)

因此AJAX函数返回一个随机数(现在)并将其附加到li括号中的文本末尾.

如果我设置ajax调用async: false它是有效的,但不建议由于冻结浏览器等.如果我将其保留为默认,true那么所有项目都附加到循环中的最后一项,所以我最终得到:

<ul>
<li value="1">Item 1</li>
<li value="2">Item 2</li> …
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery

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

C#nameof为强类型参数?

使用实体框架,我有一个名为permissions的实体,它有一组bools来指定可以做什么和不可以做什么.

有点像:

public class Permissions
{
   public int Id {get;set;}
   public int GroupId {get;set;}
   public bool ViewRecords {get;set;}
   public bool EditRecords {get;set;}
   public bool DeleteRecords {get;set;}
   public bool CreateRecords {get;set;}
   public bool CreateSubGroups {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

你明白了.每个用户组都有其中一个,这一切都很好.

我有一个安全服务类,它根据正确的组和动作验证和检查这些信息 - 再次,一切运作良好 - 但是我留下了一些我想避免的魔术字符串.

例如: public bool HasPermission(int groupId, string action)

我喜欢: public bool HasPermission(int groupId, Permission action)

目前,我正在使用nameof,所以:

bool go = HasPermission(123, nameof(Permission.ViewRecords));
Run Code Online (Sandbox Code Playgroud)

但是,有没有办法映射类属性,所以它将是:

bool go = HasPermission(123, Permission.ViewRecords);
Run Code Online (Sandbox Code Playgroud)

我可以使用枚举,并保持两个镜像彼此镜像,但这是我想要避免的开销 - 虽然名称的工作,事实是该方法可以接收任何字符串,因此可以在以后打破这条线.

c# entity-framework

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

盲目地调用公共方法(C#)

好的,奇怪的.我有许多带有转发器的用户控件,转发器的布局在所有控件中都是相同的,并且它们都有一个bindData()公共可用的方法.

我想知道,我可以设置另一个用于分页的usercontrol而不必指定父控件吗?

我能够做到以下几点:

((controls.specificuserControlClass)Parent).bindData();
Run Code Online (Sandbox Code Playgroud)

这一切都很好 - 但是specificuserControlClass如果你明白我的意思,我需要指定进入寻呼机然后需要"每个转发器"吗?

我可以Parent.bindData()盲目地从孩子控制中打电话吗?我"知道"该方法存在(或将构建检查以确保),但是Visual Studio并不满意,因为它不知道该方法.

c# asp.net public-method

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

C#Linq.在空数组上选择(int.parse)导致"输入字符串格式不正确"

我有以下代码行:

List<int> _people = code.data.loadScalarDataPoint(code.enums.pathNames.Department, "Department_Staff", RecId).Split('|').Select(int.Parse).ToList();

static方法loadScalarDataPoint返回给定输入的选定列的字符串.

在这个例子中,它返回一个管道分隔整数列表(例如12|45|88|1543|123),如果列是NULL,它将返回一个空字符串.

使用linq Select(int.Parse)工作如果有结果但没有它会抛出以下错误" 输入字符串格式不正确 "

我知道为什么,因为你不能将空字符串解析为a int,但是在单行代码中是否有办法检查这个?

或者我是否需要将结果转换为字符串,检查它是否包含内容,如果是,则解析为ints 列表?

c# linq string

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

检查从零开始的索引小于基于一的计数 - 一般编程

我有一个基于0的索引,它根据计数进行检查.计数通常从1开始.

索引需要小于或等于计数,所以我采取阻力最小的路线:

if(x < _count) // Do Stuff
Run Code Online (Sandbox Code Playgroud)

或者语义更正确(因为x应该与计数对齐,因此很明显它需要小于或等于):

if((x + 1) <= _count) // Do Stuff
Run Code Online (Sandbox Code Playgroud)

我只是在思考代码维护的进展.

.net c# asp.net

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

标签 统计

c# ×4

asp.net ×2

.net ×1

ajax ×1

entity-framework ×1

javascript ×1

jquery ×1

linq ×1

public-method ×1

string ×1