小编vcR*_*obe的帖子

为ajax帖子手动调用MVC 3客户端验证

我正在创建一个MVC 3 Web应用程序.我想在我的实体类上使用Data Annotations,然后在回发到服务器之前使用不显眼的客户端验证.这在定期发布时工作正常.如果任何字段无效,我会得到验证和验证摘要.但是,我想通过ajax和json回发信息.如何首先在客户端"手动"验证表单,然后将我的ajax发布回服务器.以下是我的代码的摘要版本.

  public class Customer
    {
        [Required(ErrorMessage = "The customer's first name is required.")]
        public string FirstName { get; set; }

        [Required(ErrorMessage = "The customer's last name is required.")]
        public string LastName { get; set; }
    }



    <% using (Html.BeginForm()) { %>

    <%: Html.LabelFor(model => model.FirstName, "First Name")%>
    <%: Html.TextBoxFor(model => model.FirstName, new { @class = "TextBox", id = "Customer.FirstName" })%>
    <%: Html.ValidationMessageFor(model => model.FirstName, "*")%>

    <%: Html.LabelFor(model => model.LastName, "Last Name")%>
    <%: Html.TextBoxFor(model => model.LastName, new { …
Run Code Online (Sandbox Code Playgroud)

javascript validation asp.net-mvc jquery asp.net-mvc-3

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

将 C# 项目编译为 WebAssembly

我需要将 C# 项目编译为 WebAssembly,并能够从 JavaScript 调用一些方法。

我想在需要添加一些新功能的旧 ASP.NET MVC 4 应用程序中使用它,并且我更喜欢使用 C# 而不是 JavaScript/TypeScript。

理想情况下,我想使用 .Net 6 编译为 WebAssembly,但我可以使用任何其他替代方案。

我在 Windows 10 版本 21H1(操作系统内部版本 19043.1415)上运行 .Net 6

我已经安装了:

  • 视觉工作室 2022
  • 工作负载“wasm-tools”(.NET WebAssembly 构建工具)

但每次我搜索有关如何使用 .NET WebAssembly 构建工具的教程、示例等时,结果都是有关 Blazor 的。

我已阅读本教程,但找不到 mono-wasm 编译器(正如我上面所说,我希望尽可能使用 .Net 6 进行编译。)

谁能帮我解决这个问题吗?

谢谢。

c# webassembly .net-6.0

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

将Action方法调用转换为异步Action方法调用

我有这个方法

public void Execute(Action action)
{
    try
    {
        action();
    }
    finally
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

我需要将它转换为像这样的异步方法调用

public async Task ExecuteAsync(Action action)
{
    try
    {
        await action();
    }
    finally
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

上面代码的问题是编译器发出以下错误

'await'运算符只能在异步lambda表达式中使用.考虑使用'async'修饰符标记此lambda表达式.

c# asynchronous

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

创建Linq查询时出错

我有一个像这样的查询

struct MyStruct
{
  public string name;
  public double amount;
}

var a =
  from p in Products
  select new MyStruct
  {
    name = p.Name,
    amount = p.Amount
  };
Run Code Online (Sandbox Code Playgroud)

当我执行查询时,我得到以下异常:

System.NotSupportedException {"LINQ to Entities中仅支持无参数构造函数和初始值设定项."}

但是,如果我将MyStruct的类型更改为类,那么它将按预期工作.

为什么它适用于并且使用struct失败?

.net c# linq linq-to-objects entity-framework

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

JQuery Ajax从客户端上传文件和其他值

我需要将文件上传到服务器并发送GUID值,这两者都是完成操作所需的.

是否可以通过一个$.ajax声明发送两个?

这是我正在使用的上传操作方法的片段

[HttpPost]
public ActionResult Upload()
{
  HttpPostedFileBase file = Request.Files[0];
}
Run Code Online (Sandbox Code Playgroud)

这里是我用来将文件发送到服务器的Javascript代码片段

function upload() {
  var formData = new FormData();
  var totalFiles = document.getElementById("FileUpload").files.length;

  for (var i = 0; i < totalFiles; i++) {
    var file = document.getElementById("FileUpload").files[i];

    formData.append("FileUpload", file);
  }

  $.ajax({
    type: 'post',
    url: '/myController/Upload',
    data: formData,
    dataType: 'json',
    contentType: false,
    processData: false,
    success: function (response) {
      alert('succes!!');
    },
    error: function (error) {
      alert("errror");
    }
  });
}
Run Code Online (Sandbox Code Playgroud)

这段代码运行良好.该文件按预期上传,但现在我需要发送GUID到同一个控制器(上传),所以我想知道我是否可以在同一个$.ajax语句中发送带有该文件的GUID ?

.net c# asp.net asp.net-mvc jquery

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

如何使用Angular v4.x安装Angular-CLI

我已经使用此命令安装了Angular-CLI

npm install -g @angular/cli
Run Code Online (Sandbox Code Playgroud)

但我意识到它已安装Angular v5.1.3但我需要使用Angular 4.x.

如何在最新版本的Angular 4.x上安装最新版本的Angular-CLI?

angular-cli angular

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

将MidpointRounding.AwayFromZero设置为默认的舍入方法

我正在做一个应用程序,我需要使用MidpointRounding.AwayFromZero对数字进行舍入,但每次进行舍入时我都要编写以下语句

Math.Round(xxx, ddd, MidpointRounding.AwayFromZero);
Run Code Online (Sandbox Code Playgroud)

有没有办法将MidpointRounding.AwayFromZero设置为方法Math.Round(...)的默认方式?

c#

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

LINQ加入返回IQueryable

我有这样的3个桌子之间的关系

在此输入图像描述

我想有一个给定类型的参数的方法表1的DbContext我从所有相关行表3通过表2

这是我的实施

public static IQueryable<table3> GetRows(
  EntitiesContext context, 
  table1 row)
{
  var table3Rows =
    from t2 in row.table2
    join t3 in context.table3 on t2.IdTable3 equals t3.Id
    select t3;

  return table3Rows;
}
Run Code Online (Sandbox Code Playgroud)

这种方法的问题是我无法返回table3Rows,因为它的IEnumerable不是IQueryable.

使用join时是否有任何解决方法可以返回IQueryable

我需要IQueryable,因为我打算对结果做一些其他的查询.

c# linq entity-framework

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

简单表达式的意外结果

我正在创建一个简单的数学函数来使用 .Net Framework 4.7.2 比较两个数字

原来的函数是这个

public static bool AreNumbersEquals(float number, float originalNumber, float threshold) => 
(number >= originalNumber - threshold) && (number <= originalNumber + threshold);
Run Code Online (Sandbox Code Playgroud)

但令我惊讶的是,当我使用这个语句测试它时

var result = AreNumbersEquals(4.14f, 4.15f, 0.01f);
Run Code Online (Sandbox Code Playgroud)

返回值是false

所以我使用这段代码分割函数

namespace ConsoleApp1_netFramework
{
    internal class Program
    {
        static void Main(string[] args)
        {
            var qq = AreNumbersEquals(4.14f, 4.15f, 0.01f);
        }

        public static bool AreNumbersEquals(float number, float originalNumber, float threshold)
        {
            var min = originalNumber - threshold;
            var max = originalNumber + threshold;
            var minComparison …
Run Code Online (Sandbox Code Playgroud)

c# floating-point

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