HTML页面
// in script tag
$(document).ready(function () {
var url = "list.ashx";
$.get(url + "?get", function (r1) { alert("get: " + r1); });
$.post(url + "?post", function (r2) { alert("post: " + r2); });
$.ajax(url + "?ajax", function (r3) { alert("ajax: " + r3); });
$("div:last").load(url + "?load", function (r4) { alert("load: " + r4); });
});
// in body tag
<div></div>
Run Code Online (Sandbox Code Playgroud)
在'list.ashx'中
public void ProcessRequest (HttpContext context) { context.Response.Write("ok"); }
Run Code Online (Sandbox Code Playgroud)
结果
问题是 …
我在服务器上有.ashx通用处理程序,我想从WPF应用程序调用它来检索一些信息,是否可能?
我有一个jqGrid我正在使用asp.Net Web Forms,它从数据库正确显示所需的信息,但它也显示搜索选项,但如果我尝试搜索让我们说名字等于Lijo,它只是没有显示那条记录.记录存在.我知道我遗漏了一些搜索所需要的东西,这里是代码
<script type="text/javascript">
$(function() {
$("#UsersGrid").jqGrid({
url: 'ModCust.ashx',
datatype: 'json',
height: 250,
width: 800,
colNames: ['Application No', 'First Name', 'Middle Name', 'Last Name'],
colModel: [
{ name: 'cApplicationNo', index: 'cApplicationNo', width: 100, sortable: true},
{ name: 'cFirstName', width: 100, sortable: true},
{ name: 'cMiddleName', width: 100, sortable: true },
{ name: 'cLastName', width: 100, sortable: true },
],
cmTemplate: { title: false},
rowNum: 10,
rowList: [10, 20, 30],
pager: '#UsersGridPager',
sortname: 'cApplicationNo',
viewrecords: true,
sortorder: 'asc',
caption: 'Customer …Run Code Online (Sandbox Code Playgroud) 我正在使用ashx来提供来自数据库的图像,无论如何都要让用户点击允许他们在计算机上下载文件的链接.(IE显示保存对话框)就像下载文件一样.这可能吗?
当用户在浏览器中查看ashx文件时,我想更改打开窗口的"页面标题".用户单击将在浏览器的新选项卡中打开的文档,并显示文档(即Word,Excel,PDF等).现在发生的是,当我希望标题显示类似"New Document.pdf"或"New Document"而不是显示ashx的url时,页面标题显示类似"file.ashx?id = 5"的内容文件.
我已经研究过通过标题设置文件名,这确实有效,但是文件被下载而不是简单地在更加明亮的窗口中打开.这不是我想要的行为.
我知道这可能是不可能的,但我想我还是要检查一下.
谢谢您的帮助.
我有一个html表单提交给C#ashx处理程序,我希望将插入/更新数据库
我用PHP和Coldfusion编写了这个,但我无法弄清楚如何在C#中做到这一点
HTML表单
<form id="copyto">
<input type="hidden" name="operation" value="update" />
<label><input type="checkbox" name="children[]" checked="checked" value="001">
Andrew Regan</label>
<label><input type="checkbox" name="children[]" checked="checked" value="101">
Arthur Regan, III</label>
<input type="checkbox" name="children[]" checked="checked" value="968">
Tim Reagan
</form>
Run Code Online (Sandbox Code Playgroud)
C#ASHX处理程序
foreach(string key in context.Request.Params["children"])
{
ListDictionary updateParams = new ListDictionary();
updateParams.Add("rowid", key);
string sSql = @"insert into temp select * from children where c.id = :rowid";
dbi.ExecuteNonQuerySql(sSql, updateParams);
}
Run Code Online (Sandbox Code Playgroud)
通常我会迭代PHP中的$ _POST ['children'],然后执行sql
这究竟是如何翻译的?
编辑
好吧我几乎得到了这个,但是我的迭代器遍历了所有请求集合变量,我希望它只遍历一个特定的命名变量,在本例中是"children"
即localhost/page?operation = update&children = 9&children = 8&children = 17
foreach(string key …Run Code Online (Sandbox Code Playgroud) 我主要是想了解这一点.在.NET应用程序中具有相似名称的所有这些类的目的是什么?
另外,在哪些中我会看到更多的实现细节?我假设.ASPX一个是实际的网站?

谢谢!
我正在尝试在ASHX文件中设置会话变量。我读了一些,到此为止:
我收到一个错误消息,说“ System.Web.HttpContext.Current.Session”为空。就像我说过的那样,我已经读了一些书,并且看起来似乎应该起作用,但由于某种原因,我无法使它对我有用。
我使用System.Web.SessionState添加;在我的处理程序顶部,但这似乎没有任何用处。为此设置了Session变量(HttpContext.Current.Session [“ saml_session_id”]),但似乎没有持久化。当我进入aspx文件并从我的直接窗口调用HttpContext.Current.Session [“ saml_session_id”]时,仅返回NULL。
我已经以此为指导(如何访问.ashx文件中的Session?),但是显然缺少了一些东西。
谁能告诉我?我将继续研究,如果解决此问题,将发布解决方案。
请参阅下面的代码。
在我的.aspx文件中-我声明了会话变量:
HttpContext.Current.Session["saml_session_id"] = string.Empty;
Run Code Online (Sandbox Code Playgroud)
然后在同一个文件中,将其发布到ashx文件中:
var response = Post("http://" + Request.ServerVariables["HTTP_HOST"].ToString() + "/API/Login.ashx", new NameValueCollection() {
{"Username",Username},
{"Password",Password}
});
Run Code Online (Sandbox Code Playgroud)
然后在我的ashx文件中,我有以下内容(这是精简版本):
using System.Web.SessionState;
//Some validation happens and a string called session_id gets generated.
context.Session["saml_session_id"] = session_id;
//while I'm in the ashx file, context.Session["saml_session_id"] persists.
Run Code Online (Sandbox Code Playgroud)
当处理程序中的请求完成处理时,ASPX文件中的下一个代码是这样的:
if (Response.Status.ToString() == "200 OK") {
Context.Response.Redirect("../Play.aspx?SessionId=" + HttpContext.Current.Session["saml_session_id"].ToString());
}
Run Code Online (Sandbox Code Playgroud)
但是HttpContext.Current.Session [“ saml_session_id”]。ToString()现在再次为空。基本上看起来好像处理程序和Web表单未通信或会话未共享。我已检查以确保名称空间相同。我还有什么要检查的吗?
我过去使用HTML或Perl创建了多个网站.我现在正在寻找使用ASP.Net,因为它允许我使用我更熟悉的语言(C#).
我对aspx页面进行了一些实验,看起来他们总是添加视图状态,并从我当前的理解中向服务器添加额外的请求.
我只是希望能够像任何普通网页一样使用POST/GET数据+能够使用c#.
目前,我正在考虑使用ashx格式制作整个网站,因为它似乎是最接近满足这些需求的格式.这意味着我可能需要创建一个自定义模板管理器来打印静态html内容和生成内容的混合.
这听起来像是一种糟糕的做法吗?我不需要一个系统(aspx),它会增加我的页面的重量并减慢进程,如果我已经使用POST/GET请求处理所有内容没有?
我有一个HTTP处理程序(.ashx)从数据库生成一些HTML代码,我想从我的Jquery函数调用它并传递一个值(userID).
我不知道如何调用它并检索其数据.