c# - 一键调用 c# 和 javascript asp.net mvc
问题描述
我在 ASP.NET MVC 视图中有一个按钮。我发现我们实际上可以通过在视图中添加 @{ } 来在视图中使用 c# 命令。所以我想知道,我的按钮如何同时调用 javascript 函数并将数据添加到在该视图中通过我的模型传递的列表。这是我的模型
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using System.Net.Mail;
using System.Web.Mvc;
namespace Dutch_Lady_Mailling_App.Models
{
public class SendMailModel
{
[DataType(DataType.EmailAddress), Display(Name = "To")]
[Required(AllowEmptyStrings = false)]
public string ToEmail { get; set; }
[Display(Name = "Body")]
[DataType(DataType.MultilineText)]
public string EMailBody { get; set; }
[Display(Name = "Subject")]
public string EmailSubject { get; set; }
[Display(Name = "CC")]
public string EmailCC { get; set; }
[Display(Name = "BCC")]
public string EmailBCC { get; set; }
public string time { get; set; }
public string resourceFile{get;set;}
public string Data { get; set; }
public bool sendtemplate { get; set; }
public bool senddis { get; set; }
public List<Contact> contacts { get; set; }
public List<Distributor> distributors { get; set; }
public string SelectedDis { get; set; }
public string SelectedTemplate { get; set; }
public IEnumerable<SelectListItem> Templates { get; set; }
}
}
在我看来,单击按钮会将选定的联系人添加到列表中,还可以通过调用 jquery 函数将选定的元素移动到另一个 div 而不重新加载页面,这就是我想要的
解决方案
据我了解,您想做两个操作,一个是服务器端,另一个是客户端。当然,如果您调用服务器端方法,您将收到回发,并且您的所有页面都会重新发送给您,因此您可以在服务器端方法中完成所有工作,因为页面将再次创建 - 我的意思是不需要javascript函数。但是您可以防止这种情况的方法以及您的方案的最佳方法是使用 ajax 来更新您的列表。最简单的方法是使用 jquery ajax 方法,例如$.ajax
或其简化版本$.post
或$.get
(取决于您的场景和您希望将信息发送到服务器的方式)。例如:
$('#your_button_id').click(function(){
$.post( "manage_contacts_api_url", "selected_contacts_ids", function( data ) {
// update your div here
});
});
推荐阅读
- qt - QPainterpath 在运算符 subtraced 中返回 null
- batch-file - 将 *d.dll 复制到调试文件夹,将没有 *d.dll 的 *.dll 复制到 release
- servlets - 尝试在 JEE 项目中使用 getServletContext() 时出现问题
- python - 正则表达式,Python 中的合并
- firefox - 无服务器 WebRTC SDP / ICE 超时
- python - 在Python中将一个字符串插入另一个字符串的最后一个空格
- macos - 当 NSSecureTextField 接受一些输入时,它会随机发出警告
- python - 全名的正则表达式
- angular - 单击添加按钮时,ngFor 不显示数据并且无法添加数据
- node.js - 以编程方式获得剩余的免费 dyno-hours