小编Lar*_*ard的帖子

尽管提交按钮,Html.BeginForm仍未发布到服务器

我有一个标准的表单,它被包装到一个Html.BeginForm中.在底部有一个提交按钮.

但是,当单击按钮时,我的控制器没有被击中.我遇到了页面的重新加载,但没有遇到任何代码.我已经尝试在控制器端进行调试并尝试我能看到的代码被击中,但它的定义并没有被击中.

Razor - /Views/BuyBitcoins/Index.cshtml下的Index.cshtml:

  @using (Html.BeginForm("BuyBitcoinsNow", "BuyBitcoins",FormMethod.Post))
            {


                <h3>@ModelRes.BuyBitcoinStrings.Form_YourPurchase</h3>
                <p>
                    @ModelRes.BuyBitcoinStrings.Form_HowMuch<br />
                    @Html.EditorFor(model => model.PurchaseViewModel.PurchaseAmount)
                </p>    


                <div id="plcBitcoinAddress">

                    <p>
                        @ModelRes.BuyBitcoinStrings.Form_EnterAddress<br />
                        @Html.EditorFor(model => model.PurchaseViewModel.BitcoinAddress)
                    </p>

                </div>

                <h3>@ModelRes.BuyBitcoinStrings.Form_Summary</h3>


                <h3>@ModelRes.BuyBitcoinStrings.Form_Personal_Headline</h3>
                <p>
                    @ModelRes.BuyBitcoinStrings.Form_Name:<br />
                    @Html.EditorFor(model => model.Name)
                </p>

                <p>
                    @ModelRes.BuyBitcoinStrings.Form_Email:<br />
                    @Html.EditorFor(model => model.Email)
                </p>

                <p>
                    @ModelRes.BuyBitcoinStrings.Form_Phone<br />
                    @Html.EditorFor(model => model.Phone)
                </p>


                <div id="plcTerms" class="checkbox">
                    <label for="termsChk">
                        <input id="termsChk" type="checkbox">
                        @ModelRes.BuyBitcoinStrings.Form_accept

                    </label>
                </div>
                <div id="newsletterTerms" class="checkbox">
                    <label for="newsletterChk">
                        <input id="newsletterChk" type="checkbox" checked="checked">
                        @ModelRes.BuyBitcoinStrings.Form_newsletter
                    </label>
                </div>


                <div id="usp_list">
                    <ul>
                        <li>
                            <img src="@Url.Content("~/Content/images/1387430978_checkmark-g.png")" style="width: …
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-mvc html.beginform razor

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

从PdfWriter获取字节数组,写入iTextSharp中的内存流

我有一个方法,它具有以下内容:

  • 字节数组,这是一个PDF文件
  • 一个"从"大小
  • 一个"到"的大小

这个想法是它将具有特定大小的PDF文件转换为另一个大小.我想返回一个字节数组,并希望将整个内容保留在内存中.

我在构造函数(outPDF)中使用memorystream创建PdfWriter ,然后进行转换.之后,我想说outBytes = outPDF.ToArray();.

我尝试将此代码放在三个位置,请参阅代码中的A,B和C位置.在位置A,内存流的长度仅为255,这不起作用.我的猜测是doc.Close()必须先跑.在B和C位置,流被关闭,无法访问.

我的问题是:如何从PdfWriter获取字节数组,在iTextSharp中写入内存流

我的代码:

public static byte[] ConvertPdfSize(byte[] inPDF, LetterSize fromSize, LetterSize toSize)
        {
            if (fromSize != LetterSize.A4 || toSize != LetterSize.Letter)
            {
                throw new ArgumentException("Function only supports from size A4 to size letter");
            }

            MemoryStream outPDF = new MemoryStream();
            byte[] outBytes;
            using (PdfReader pdfr = new PdfReader(inPDF))
            {
                using (Document doc = new Document(PageSize.LETTER))
                {
                    Document.Compress = true;

                    PdfWriter writer = PdfWriter.GetInstance(doc, outPDF);
                    doc.Open(); …
Run Code Online (Sandbox Code Playgroud)

c# bytearray stream itextsharp c#-4.0

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

使用iTextSharp将文本添加到内存流中的现有多页PDF文档

我正在尝试使用iTextSharp将文本添加到现有的PDF文件中.我一直在阅读很多帖子,包括这里流行帖子.

我有一些不同之处:

  • 我的PDF长X页
  • 我希望将所有内容保存在内存中,并且永远不会将文件存储在我的文件系统中

所以我尝试修改代码,因此它接受一个字节数组并返回一个字节数组.我走到这一步:

  • 代码编译并运行
  • 我的out字节数组的长度与字节数组的长度不同

我的问题:

  • 当我稍后存储修改后的字节数组并在我的PDF阅读器中打开它时,我看不到我添加的文本

我不明白为什么.从我看到的每个StackOverflow帖子中,我都这样做.使用DirectContent,我使用BeginText和写一个文本.然而,无论我如何移动位置,我都看不到它.

知道我的代码中缺少什么吗?

public static byte[] WriteIdOnPdf(byte[] inPDF, string str)
        {
            byte[] finalBytes;

            // open the reader
            using (PdfReader reader = new PdfReader(inPDF))
            {
                Rectangle size = reader.GetPageSizeWithRotation(1);
                using (Document document = new Document(size))
                {
                    // open the writer
                    using (MemoryStream ms = new MemoryStream())
                    {
                        using (PdfWriter writer = PdfWriter.GetInstance(document, ms))
                        {
                            document.Open();

                            for (var i = 1; i <= reader.NumberOfPages; i++)
                            { …
Run Code Online (Sandbox Code Playgroud)

c# pdf stream itextsharp c#-4.0

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

使用jquery/js将html元素作为带有暂停的序列显示

我现在已经搜索了很长一段时间,在每个人都点击我的setTimeout()函数之前,请听我说.

我有~20个不可见的HTML元素.我希望它们一次变为可见,中间暂停.我还希望在将它们变为可见时使用一些jQueries非常棒的动画功能.

所以基本上我想使用JavaScript/jQuery"播放一系列帧/事件/状态".

我看到了什么?

的setTimeout():

我一直在研究JS setTimeout函数,据我所知,当你有1-3个setTimeout()函数时它很有用.

如果你想要更多,它开始变得非常凌乱.它们是嵌入式的,你必须通过将数字加在一起来计算时间,而且很难得到整体情况.

jQuery.delay()

此外,jQuery.delay()函数缺乏实际暂停代码.我有20多个元素,而不是我想要动画的元素.

Updatepanel垃圾邮件

我现在正在考虑的另一种选择(拜托,杀了我),正在使用更新面板.它每秒使用一个计时器进行回发,并使用一个会话,它确切地知道它是什么"帧".然后它可以根据帧数设置可见/不可见的东西,还可以激活jQuery动画.

现在,当我今天早上醒来时,我并没有梦想用这样的更新面板向我的网络服务器发送垃圾邮件....所以:

有没有什么好方法可以做到这一点?我对建议很开放.

非常感谢!:-)

javascript asp.net jquery html5 jquery-animate

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

具有routevalues和htmlattributes的Actionlink - 我做错了什么?

我试图在我的上面都有一些路由值和html属性ActionLink.

所以,我有以下代码.前三个参数是文本,动作名称和控制器.然后我添加路由值,然后尝试添加HTML属性.

@Html.ActionLink("What is this", "Pages", "Root", new { @slug = "what-is-this" },new{@class="dropdown-toggle", @data-toggle="dropdown"})
Run Code Online (Sandbox Code Playgroud)

当我运行网站时,我收到一条错误消息,说明使用此actionlink的视图,它给出了 External component has thrown an exception.

所以,我想我的问题是:如何将html属性添加到此操作链接?我究竟做错了什么?

asp.net-mvc actionlink asp.net-mvc-4

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

从 jQuery 调用 .asmx webservice:不允许 GET?

我有一个简单的页面。加载时,它调用 Web 服务,然后出现以下错误:

an attempt was made to call the method using a GET request, which is not allowed
Run Code Online (Sandbox Code Playgroud)

我的JS代码:

    function getTutors() {
        var url = '<%= ResolveUrl("~/services/tutorservice.asmx/gettutors") %>';
        $.ajax({
            type: "GET",
            data: "{'data':'" + 'test-data' + "'}",
            url: url,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (d) {
                alert('succes');
                return d;
            },
            error: function () {
                alert('fejl');
            }
        });
    }

    $(document).ready(function () {
        var tutors = getTutors();
        var locations = [];
    }
Run Code Online (Sandbox Code Playgroud)

我的网络服务:

    [ScriptService]
public class tutorservice : System.Web.Services.WebService …
Run Code Online (Sandbox Code Playgroud)

asp.net jquery web-services asmx .net-4.5

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

ASP.NET:大量内存泄漏..它在哪里?D B?UpdatePanel的?没有一次性用品?

我一直在开发一个非常大的应用程序,几天前我将它上传到我的服务器.现在我发现它有几个内存泄漏 - 哦哦.我的服务器在1GB内存上运行Windows Server 2008.当我在线有0人时,只使用550-600mb.当一个人上线时,内存开始暴涨,如果3-4人在线,则使用1GB内存.

该应用程序是在ASP.NET中使用AJAX进行的.它有许多每秒运行的更新面板和相当多的javascript.它始终使用5-7个会话.我使用LINQ to SQL作为数据库通信.

我在服务器上尝试过perfmon.exe,我发现:

  • Gen 0系列在几分钟内从0%变为100%
  • Gen 1系列在5分钟内从0%到50%
  • Gen 2在任何时候都非常接近0%
  • 总堆字节速度非常快,达到100%

我还用Visual Studio对我的程序进行了分析.我的总运行时间的8%是在.ToList()方法中完成的,这正是由LINQ to SQL引起的.

我的理论......

(1)Linq to SQL dataContext

这可能是一个疯狂的事情,但是:在我的数据访问层中,我有很多方法:

  • AddSomethingToDatabase();
  • AddSomethingElseToDatabase();
  • DeleteSomethingFromDatabase();

其中每个都有以下初始化:

GameDataContext db = new GameDataContext();
Run Code Online (Sandbox Code Playgroud)

这意味着上述陈述几乎每秒或更长时间.

(2)没有对象实现IDisposable

我必须诚实:我从未使用过IDisposable.据我所知,这可能是个问题.

另外,如果这是泄漏,哪些类应该实现呢?我没有任何I/O工作或其他工作,只有DataContext.

(3)UpdatePanels和jQuery的负载

我有一些担心更新面板可能会给性能带来问题,但我不知道如何检查它.


所以我的问题是:关于内存泄漏可能是什么的任何想法?有关如何查找内存泄漏的任何想法?关于如何解决它的任何想法?

我很想听到有上述情况经验的人的来信!

谢谢,拉尔斯

asp.net memory-leaks updatepanel idisposable linq-to-sql

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

Apicontroller - 如何访问Json()和Content()等方法

通常当我在普通控制器中使用ASP.NET MVC时,我可以访问诸如return Json()或者之类的方法Content().

这些方法对于何时返回actionresult非常有用.但是,当有一个API控制器时,这些方法似乎不存在.我猜他们住在BaseController中,普通控制器继承自?

在使用Apicontroller时,您通常如何以简单的方式返回JSON/XML /类似内容?

c# rest asp.net-mvc asp.net-mvc-4

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

使用FtpWebRequest将大文件上传到FTP导致"底层连接已关闭"

我正在尝试将相对较大的文件上传到FTP服务器(250-300mb).我在控制台应用程序中执行此操作.

当文件是几MB时,我的程序工作正常,但是大的文件导致:

System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a receive.
Run Code Online (Sandbox Code Playgroud)

我试图设置超时,但我仍然得到错误.

知道如何修改我的代码,所以我没有得到错误?

我的上传代码:

using(var fs = File.OpenRead(zipFileName)) 
            {
                var ms = new MemoryStream();
                ms.SetLength(fs.Length);
                fs.Read(ms.GetBuffer(), 0, (int) fs.Length);

                FtpWebRequest ftp = (FtpWebRequest)FtpWebRequest.Create(ftpUrl + "/" + zipFileName);
                ftp.Credentials = new NetworkCredential(ftpUid, ftpPassword);
                ftp.Timeout = 30000;
                ftp.KeepAlive = true;
                ftp.UseBinary = true;
                ftp.Method = WebRequestMethods.Ftp.UploadFile;


                byte[] buffer = new byte[ms.Length];
                ms.Read(buffer, 0, buffer.Length);
                ms.Close();

                Stream ftpstream = ftp.GetRequestStream();
                ftpstream.Write(buffer, 0, buffer.Length);
                ftpstream.Close();
            }
Run Code Online (Sandbox Code Playgroud)

.net c# ftp console-application .net-4.5

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

Summernote 编辑器中的粘贴事件未触发 - 无法获取粘贴值

我正在构建一个使用 Summernote 编辑器 ( https://summernote.org/ )的应用程序。

它工作得很好,现在我想处理粘贴事件。想法是我想将内容粘贴为纯文本。此页面中的一些谷歌搜索结果: Paste content as plain text in summernote editor

这导致了我的问题 - 我试图实现这一点但没有成功。

我的代码:

我已经在我的 Bootstrap / ASP.NET MVC 应用程序中实现了 Summernote,如下所示(我使用 Summernote 0.8.8):

<div class="form-group mb-3">
        @Html.LabelFor(c => c.Content)
        <div class="card-body">
            <form class="form-horizontal form-bordered">
                <div class="form-group row">
                    <div class="col-sm-12">
                        <textarea name="Content" id="summernote" class="summernote" data-plugin-summernote data-plugin-options='{ "height": 180, "codemirror": { "theme": "ambiance" } }'>
                            @Html.Raw(Model.Content)
                        </textarea>
                    </div>
                </div>
            </form>
        </div>
Run Code Online (Sandbox Code Playgroud)

我现在尝试添加以下代码:

  $('#summernote').summernote({
                onPaste: function (e) {
                    var bufferText = ((e.originalEvent || e).clipboardData || window.clipboardData).getData('Text');
                    e.preventDefault(); …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc jquery paste twitter-bootstrap summernote

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