如何将ASP.Net网页设置为过期,以便在用户单击提交按钮时,如果按下浏览器的后退按钮以尝试返回并再次按提交,则他/她将收到页面过期错误?
我正在尝试从我的代码隐藏文件中读取C#属性的值到一些JQuery脚本(见下文).我编写的JQuery选择器访问ASP.Net GridView,然后访问gridview中的CheckBox字段.每当选中或取消选中复选框时,代码都会被命中,但我需要从后面的代码中访问C#属性,以根据属性的值采取适当的操作.
$(".AspNet-GridView-Normal > td > input").click(function() {
//Need to access the C# property here
//Take action here based on the value of the C# property
});
Run Code Online (Sandbox Code Playgroud) 我们正在使用JQuery UI Autocomplete,在查询完成后,我在清除包含搜索词的文本框时遇到问题.这是我们的JQuery代码:
$(document).ready(function () {
$("form#search input#term").autocomplete({
source: '<%= Url.Action("Display", "Search") %>',
delay: 200,
minLength: 3,
parse: function (data) {
var array = new Array();
for (var i = 0; i < data.length; i++) {
array[array.length] = { data: data[i], value: data[i], result: data[i].link };
}
return array;
},
select: function (event, ui) {
window.location.href = ui.item.value;
$(this).val() = "";
return false;
}
});
});
Run Code Online (Sandbox Code Playgroud)
这段代码在Firefox中工作正常,但是IE 8抛出一个异常并给出一个对话框,询问我是否要使用IE Script Debugger.我看到这个Stack Overflow帖子:在选择jQuery UI Autocomplete之后清除表单字段,它说问题的解决方案是从JQuery选择函数返回false,但这没有帮助.有人建议如何解决这个问题?
我有一个包含VSTO加载项项目的Visual Studio 2010解决方案.我还在解决方案中添加了一个WiX安装项目,现在我需要在安装项目中添加对VSTO项目的引用,但我无法这样做.当我右键单击WiX设置项目中的引用,然后选择添加引用,然后选择项目选项卡,VSTO项目不会出现在要引用的可用项目列表中.
我需要找到一种声明方式(不在代码隐藏文件中)将ASP.Net网页中的属性值传递给用户控件的方法.以下是我正在尝试做的一个简单示例,但我无法让它工作.这是我正在创建用户控件对象的aspx页面的标记:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register Src="~/MyUserControl.ascx" TagName="MyUserControl" TagPrefix="uc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<uc1:MyUserControl ID="MyUserControl1" runat="server"
UserControlProperty = '<%# Bind("PageProperty") %>' />
</div>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这是aspx页面背后的代码(aspx.cs):
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
public int PageProperty { get; set; }
protected void Page_Load(object sender, EventArgs e)
{ …Run Code Online (Sandbox Code Playgroud) 将错误消息从WF4工作流程返回到托管ASP.NET MVC应用程序的最佳方法是什么?我需要工作流不终止,但继续处于活动状态,然后将有关错误的消息传递回托管应用程序,以便用户可以采取其他操作,但我不知道该怎么做.
我们尝试在我们的ViewModel属性上使用[AllowHtml]修饰,以便我们可以避免使用YSOD:
从客户端检测到潜在危险的Request.Form值(RequestText =
"<br>").
当我们尝试提交html文本时,如:<br>.我们希望在控制器动作中使用Server.HtmlEncode来防止攻击,但是当我们用[AllowHtml]它来装饰属性没有任何影响时,如果我们尝试使用[ValidateInput(false)]控制器动作,它也没有任何效果.我们看到一个StackOverflow帖子说在MVC 3 RC2中你必须添加:
ModelMetadataProviders.Current = new DataAnnotationsModelMetadataProvider(); 到global.asax
我们也尝试过,即使我们使用的是MVC 3的发布版本,而不是RC2,但这也没有效果.有谁知道如何解决这一问题?
模型:
namespace UI.Models.ViewModel
{
public class CustomerRequestSupport
{
/// <summary>
/// Gets or Sets the textual description entered by the Customer for
/// the support requested.
/// </summary>
[AllowHtml]
public string RequestText { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
控制器:
[HttpPost]
[TabsActionFilter]
public ActionResult RequestSupport(CustomerRequestSupport collection)
{
if (ModelState.IsValid)
{
Ticket ticket = new Ticket();
ticket.Requestor = LoggedInCustomer; …Run Code Online (Sandbox Code Playgroud) 我将SQLVERVER 2008数据库上的IPV4地址存储为二进制(4).所以,我在数据输入之前转换值(并且由于公司的限制,我不能在数据库中创建函数,这不是讨论的问题).
public static byte[] IpToBin(string ip)
{
return IPAddress.Parse(ip).GetAddressBytes();
}
public static string HexToIp(string ip)
{
return new IPAddress(long.Parse(ip, NumberStyles.HexNumber)).ToString();
}
Run Code Online (Sandbox Code Playgroud)
调用IpToBin后,生成的数据为(例如0x59FC09F3).当我调用HexToIp时,ip反转可能是由于很少/大端转换.
任何人都可以提出一个没有500亿行代码的合适解决方案吗?
我正在使用Wf4使用Visual Studio 2010的候选版本来编写用于批准资源请求的新工作流程.在我的工作流程中,如果没有对请求进行批准,我希望几天后请求过期.我们在WF 3.5(Visual Studio 2008)中执行了此操作,方法是将Delay计时器添加到与正在等待批准者批准请求的EventDrivenActivity并行的EventDrivenActivity中.如果延迟在批准之前到期,则EventDrivenActivity将终止请求.有人知道在WF4中是否有类似的机制吗?
我今天刚从TechEd 2012回来,在那里我看到了几个分组会议,其中演示中显示了移动设备模拟器.一个很好的例子是Daminan Edwards的Dev304会议题为"用于移动和平板电脑开发的ASP.NET",他创建了一个Asp.Net MVC 4应用程序,然后创建了一个_Layout.Mobile文件和一个Index.Mobile文件,下载了JQuery Mobile使用NuGet,在他的视图中将一些样式添加到列表中,并通过从Visual Studio 2012中的工具栏启动Opera Emulator,在Opera Emulator中运行他的MVC应用程序的移动版本.
我今天早上下载了RC版本的Visual Studio 2012,按照Damian的演讲中的步骤,但无法弄清楚如何运行任何移动模拟器.谁能帮我这个?
c# ×4
asp.net ×3
jquery ×2
.net ×1
asp.net-mvc ×1
autocomplete ×1
bytearray ×1
delay ×1
html-encode ×1
ip ×1
jquery-ui ×1
properties ×1
vsto ×1
windows ×1
wix ×1
wix3.6 ×1
workflow ×1