小编Tob*_*ler的帖子

迭代嵌套的JavaScript对象

我正在尝试遍历嵌套对象以检索由字符串标识的特定对象.在下面的示例对象中,标识符字符串是"label"属性.我无法绕过如何遍历树以返回适当的对象.任何帮助或建议将不胜感激.

var cars = {
  label: 'Autos',
  subs: [
    {
      label: 'SUVs',
      subs: []
    },
    {
      label: 'Trucks',
      subs: [
        {
          label: '2 Wheel Drive',
          subs: []
        },
        {
          label: '4 Wheel Drive',
          subs: [
            {
              label: 'Ford',
              subs: []
            },
            {
              label: 'Chevrolet',
              subs: []
            }
          ]
        }
      ]
    },
    {
      label: 'Sedan',
      subs: []
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

javascript iteration

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

当取消选中复选框时,asp:复选框的OnCheckedChanged事件处理程序不会触发

我有一个转发器,在转发器的每个ItemTemplate中都是一个带有OnCheckedChanged事件处理程序集的asp:复选框.复选框将AutoPostBack属性设置为true.选中任何复选框时,将触发事件处理程序.如果未选中任何内容,则不会触发事件处理程序.

知道为什么事件不会发生,以及我如何解雇它?谢谢.

简化的转发器代码:

<asp:Repeater ID="rptLinkedItems" runat="server">            
    <ItemTemplate>      
    <asp:CheckBox ID="chkLinked" runat="server" 
     Checked="false" OnCheckedChanged="chkLinked_CheckedChanged" />
    </ItemTemplate>    
</asp:Repeater>
Run Code Online (Sandbox Code Playgroud)

该集合与中继器绑定如下:

protected override void OnPreRenderComplete(EventArgs e)
{
    if (!Page.IsPostBack)
    {
        m_linkedItems = GetLinkedItems();
        rptLinkedItems.DataSource = GetLinkableItems();
        rptLinkedItems.ItemDataBound += new RepeaterItemEventHandler
               (rptLinkedItems_ItemDataBound);
        rptLinkedItems.DataBind();
    }

    base.OnPreRenderComplete(e);
}
Run Code Online (Sandbox Code Playgroud)

OnItemDataBound事件处理程序如下:

private void rptLinkedItems_ItemDataBound(Object sender, RepeaterItemEventArgs args)
{
    if (args.Item.ItemType == ListItemType.Item || args.Item.ItemType == ListItemType.AlternatingItem)
    {
        CategoryItem item = args.Item.DataItem as CategoryItem;

        Literal litItemName = args.Item.FindControl("litItemName") as Literal;
        CheckBox chkLinked = args.Item.FindControl("chkLinked") as CheckBox;

        litItemName.Text = item.Text;

        chkLinked.Checked = …
Run Code Online (Sandbox Code Playgroud)

c# asp.net c#-2.0

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

如何装饰 MediatR 处理程序

我只想装饰一个 MediatR 处理程序。我尝试使用行为,但行为为每个实现的处理程序注入装饰器IRequestHandler<TRequest,TResponse>

public class ProcessFirstCommand : IRequest<bool>
{
    public string Message { get; set; }
}

public class ProcessFirstCommandHandler : IRequestHandler<ProcessFirstCommand, bool>
{
    public Task<bool> Handle(ProcessFirstCommand request, CancellationToken cancellationToken)
    {
        Console.WriteLine("Inside Process First Command Handler");

        return Task.FromResult(true);
    }
}

public class Manager
{
    private readonly IMediator _mediator;

    public Manager(IMediator mediator)
    {
        _mediator = mediator;
    }

    public void Execute()
    {
        _mediator.Send(new ProcessFirstCommand());
    }
}

//Registering in Autofac for IRequestHandler
public class Module : Autofac.Module
{
    protected override void Load(ContainerBuilder …
Run Code Online (Sandbox Code Playgroud)

c# autofac cqrs mediatr

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

使用 React 钩子时如何初始化第三方库?

如果我有一个第三方库,我通常会像这样初始化:

class App {
  constructor(props) {
    this.helperLibrary = new HelperLibrary();
    this.state = { data: null };
  }
}
Run Code Online (Sandbox Code Playgroud)

我将如何使用 React 钩子在功能组件中初始化它?

所以更新后的代码看起来像:

const App = () => {
  const [data, setData] = useState(null);

  // Would I write something like this here??
  helperLibrary = new HelperLibrary();

  // Or would I use something like useEffect since
  // constructor runs when the component is created?

  useEffect = (() => {
    helperLibrary = new HelperLibrary();
  }, []);
};
Run Code Online (Sandbox Code Playgroud)

reactjs react-hooks

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

如何在节点js中导出带有module.exports的数组?

我有一个node.js的项目,这是我第一次使用nodejs,我想将数组导出到我的应用程序.这是一些代码:

module.exports = { 
    var arrays = [];
    arrays[0] = 'array 0';
    arrays[1] = 'array 1';
    arrays[2] = 'array 2';
    arrays[3] = 'array 3';
    arrays[4] = 'array 4';
    var r_array = arrays[Math.floor(Math.random() * arrays.length)].toString();
}
Run Code Online (Sandbox Code Playgroud)

最后我想var r_array在我的app.js中使用,但我不知道如何.

javascript arrays node.js

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

无法将字符串转换为 system.Net.HttpContent

在这里,我试图从服务中获取数据:

public async Task<IHttpActionResult> ValidateSesion()
{
    var values = new Dictionary<string, string>{
        { "productId", "1" },
        { "productKey", "Abc6666" },
        { "userName", "OPPO" },
    };
    var json = JsonConvert.SerializeObject(values, Formatting.Indented);
    // var content = new FormUrlEncodedContent(json);
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    var response = await client.PostAsync("http://172.116.12.172:8014/iadmin/validate", json);
    var responseString = await response.Content.ReadAsStringAsync();
    return Ok(responseString);
}
Run Code Online (Sandbox Code Playgroud)

如果我进行任何 PostMan 调用,如下所示,我得到的数据如下所示:

{
    "productId": "1",
    "productKey": "Abc6666" 
}
Run Code Online (Sandbox Code Playgroud)

c# json asp.net-web-api dotnet-httpclient

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

如何在 VueJS 中动态创建输入字段

我正在尝试动态添加或删除输入字段。

我从这里得到了一个简单的解决方案https://smarttutorials.net/dynamically-add-or-remove-input-textbox-using-vuejs/,它有效。然而,在数据库中保存输入值会停止它的功能。

组件代码:

<div class="form-group" v-for="(input,k) in inputs" :key="k">
  <input type="text" class="form-control" v-model="input.name" />
  <input type="text" class="form-control" v-model="input.party" />
  <span>
    <i
      class="fas fa-minus-circle"
      @click="remove(k)"
      v-show="k || ( !k && inputs.length > 1)"
    ></i>
    <i
      class="fas fa-plus-circle"
      @click="add(k)"
      v-show="k == inputs.length-1"
    ></i>
  </span>
</div>
<button @click="addCandidate">
  Submit
</button>

<script>
  export default {
    data() {
      return {
        inputs: [
          {
            name: "",
            party: ""
          }
        ]
      };
    },
    methods: {
      add(index) {
        this.inputs.push({ name: "", party: "" });
      },
      remove(index) …
Run Code Online (Sandbox Code Playgroud)

javascript json laravel vue.js axios

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

使用 OpenXML sdk 读取 excel 文件时遇到问题

我有一个函数可以从 excel 文件中读取并将结果存储在DataSet. 我有另一个写入 excel 文件的函数。当我尝试从常规的人工生成的 excel 文件中读取时,excel 读取函数返回一个空白DataSet,但是当我从写入函数生成的 excel 文件中读取时,它工作得很好。该函数将无法在常规生成的 excel 文件上运行,即使我只是复制并粘贴函数生成的 excel 文件的内容。我终于找到了它,但我不知道从哪里开始。我的代码有问题吗?

这是excel生成函数:

public static Boolean writeToExcel(string fileName, DataSet data)
{
    Boolean answer = false;
    using (SpreadsheetDocument excelDoc = SpreadsheetDocument.Create(tempPath + fileName, SpreadsheetDocumentType.Workbook))
    {
        WorkbookPart workbookPart = excelDoc.AddWorkbookPart();
        workbookPart.Workbook = new Workbook();
        WorksheetPart worksheetPart = workbookPart.AddNewPart<WorksheetPart>();
        Sheets sheets = excelDoc.WorkbookPart.Workbook.AppendChild<Sheets>(new Sheets());
        Sheet sheet = new Sheet()
        {
            Id = excelDoc.WorkbookPart.GetIdOfPart(worksheetPart),
            SheetId = 1,
            Name = "Page1"
        };

        sheets.Append(sheet);

        CreateWorkSheet(worksheetPart, data);
        answer = true; …
Run Code Online (Sandbox Code Playgroud)

c# asp.net excel openxml openxml-sdk

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

如何在输入数据列表中设置默认值并仍然有下拉菜单?

我正在使用datalistHTML 属性来获取下拉输入框:

<input list="orderTypes" value="Book">
<datalist id="orderTypes">
  <option value="Book">
  <option value="Copy">
  <option value="Page">
</datalist>
Run Code Online (Sandbox Code Playgroud)

问题是现在我必须清除输入框才能查看所有下拉值。有没有办法拥有默认值,但在单击下拉图标时仍然查看数据列表中的所有值?

html javascript

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

System.Action <T>作为EventHandler

相信使用委托System.Action或System.Func作为EventDelegates而不是经典的EventHandler模​​式.因此我会遇到问题吗?

private bool disposed;

public event Action<IUnitOfWork, IContext> Disposing;

public void Dispose()
{
    if (this.disposed)
    {
        return;
    }

    if (null != this.Disposing)
    {
        this.Disposing(this, this.AttachedContext);
    }

    this.disposed = true;
}
Run Code Online (Sandbox Code Playgroud)

-

用法:

unitOfWorkInstance.Disposing += (u, c) => c.Rollback(u); // in my opinion more readable than
unitOfWorkInstance.Disposing += (sender, args) => args.AttachedContext.Rollback(sender as IUnitOfWork);
Run Code Online (Sandbox Code Playgroud)

抱歉可怕的englisch

.net c# action func event-handling

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