我有一个标准的表单,它被包装到一个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) 我有一个方法,它具有以下内容:
这个想法是它将具有特定大小的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) 我正在尝试使用iTextSharp将文本添加到现有的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) 我现在已经搜索了很长一段时间,在每个人都点击我的setTimeout()函数之前,请听我说.
我有~20个不可见的HTML元素.我希望它们一次变为可见,中间暂停.我还希望在将它们变为可见时使用一些jQueries非常棒的动画功能.
所以基本上我想使用JavaScript/jQuery"播放一系列帧/事件/状态".
我看到了什么?
的setTimeout():
我一直在研究JS setTimeout函数,据我所知,当你有1-3个setTimeout()函数时它很有用.
如果你想要更多,它开始变得非常凌乱.它们是嵌入式的,你必须通过将数字加在一起来计算时间,而且很难得到整体情况.
jQuery.delay()
此外,jQuery.delay()函数缺乏实际暂停代码.我有20多个元素,而不是我想要动画的元素.
Updatepanel垃圾邮件
我现在正在考虑的另一种选择(拜托,杀了我),正在使用更新面板.它每秒使用一个计时器进行回发,并使用一个会话,它确切地知道它是什么"帧".然后它可以根据帧数设置可见/不可见的东西,还可以激活jQuery动画.
现在,当我今天早上醒来时,我并没有梦想用这样的更新面板向我的网络服务器发送垃圾邮件....所以:
有没有什么好方法可以做到这一点?我对建议很开放.
非常感谢!:-)
我试图在我的上面都有一些路由值和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属性添加到此操作链接?我究竟做错了什么?
我有一个简单的页面。加载时,它调用 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) 我一直在开发一个非常大的应用程序,几天前我将它上传到我的服务器.现在我发现它有几个内存泄漏 - 哦哦.我的服务器在1GB内存上运行Windows Server 2008.当我在线有0人时,只使用550-600mb.当一个人上线时,内存开始暴涨,如果3-4人在线,则使用1GB内存.
该应用程序是在ASP.NET中使用AJAX进行的.它有许多每秒运行的更新面板和相当多的javascript.它始终使用5-7个会话.我使用LINQ to SQL作为数据库通信.
我在服务器上尝试过perfmon.exe,我发现:
我还用Visual Studio对我的程序进行了分析.我的总运行时间的8%是在.ToList()方法中完成的,这正是由LINQ to SQL引起的.
我的理论......
(1)Linq to SQL dataContext
这可能是一个疯狂的事情,但是:在我的数据访问层中,我有很多方法:
其中每个都有以下初始化:
GameDataContext db = new GameDataContext();
Run Code Online (Sandbox Code Playgroud)
这意味着上述陈述几乎每秒或更长时间.
(2)没有对象实现IDisposable
我必须诚实:我从未使用过IDisposable.据我所知,这可能是个问题.
另外,如果这是泄漏,哪些类应该实现呢?我没有任何I/O工作或其他工作,只有DataContext.
(3)UpdatePanels和jQuery的负载
我有一些担心更新面板可能会给性能带来问题,但我不知道如何检查它.
所以我的问题是:关于内存泄漏可能是什么的任何想法?有关如何查找内存泄漏的任何想法?关于如何解决它的任何想法?
我很想听到有上述情况经验的人的来信!
谢谢,拉尔斯
通常当我在普通控制器中使用ASP.NET MVC时,我可以访问诸如return Json()或者之类的方法Content().
这些方法对于何时返回actionresult非常有用.但是,当有一个API控制器时,这些方法似乎不存在.我猜他们住在BaseController中,普通控制器继承自?
在使用Apicontroller时,您通常如何以简单的方式返回JSON/XML /类似内容?
我正在尝试将相对较大的文件上传到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) 我正在构建一个使用 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) c# ×5
asp.net ×4
asp.net-mvc ×4
jquery ×3
.net-4.5 ×2
c#-4.0 ×2
itextsharp ×2
stream ×2
.net ×1
actionlink ×1
asmx ×1
bytearray ×1
ftp ×1
html5 ×1
idisposable ×1
javascript ×1
linq-to-sql ×1
memory-leaks ×1
paste ×1
pdf ×1
razor ×1
rest ×1
summernote ×1
updatepanel ×1
web-services ×1