ASHX学习

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_41916730/article/details/85100066

一般处理程序(ashx)

1.一般处理程序,感觉就像是一个方法
和[HttpPost]
public ActionResult ProcessRequest()
好像差不多。(习惯MVC)
调用的时候url和之前的不一样。
先生成一个ashx,再搭配一个html。
2.初始代码

    public class FirstHandler : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            context.Response.Write("Hello World");
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }

localhost:…/FirstHandler.ashx下显示Hello Word。
3.下面使用它实现一个生成随机数的代码

3.1在ashx中加上一个生成随机数的代码

public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            context.Response.Write(CreateRandomNumber());
        }

        private string CreateRandomNumber()
        {
            string allChar =
                "0,1,2,3,4,5,6,7,8,9";
            string[] allCharArray = allChar.Split(',');
            string randomCode = "";
            int temp = -1;
            Random rand = new Random();
            for (int i = 0; i < 4; i++)
            {
                if (temp != -1)
                {
                    rand = new Random(i * temp * ((int)DateTime.Now.Ticks));
                }
                int t = rand.Next(9);
                if (temp == t)
                {
                    return CreateRandomNumber();
                }
                temp = t;
                randomCode += allCharArray[t];
            }
            return randomCode;
        }

3.2.在前台写个显示的html

<div>
        <input id="number" type="text" readonly="readonly" style="width:60px;" height="30">
    </div>
    <div>
        <input type="button" value="换一个" onclick="changeNumber()">
    </div>

3.2调用ashx中的代码
(要加js文件…)

<script src="Scripts/jquery-3.3.1.min.js"></script>
    <script>
        function changeNumber() {
            $.ajax({
                type: "post",
                url:'./../ASHX/FirstHandler.ashx?',
                dataType: "text",
                success: function (data) {
                    $("#number").val(data);
                },
                error: function (e) {
                    changeNumber()
                }
            });           
        }
    </script>

这样就可以实现生成随机数了。
4.ASHX的用途
用于处理页面的信息,生成动态图片,动态文本等。一般用于异步处理。

展开阅读全文

没有更多推荐了,返回首页