这很奇怪,我认为只需添加此代码即可Global.asax.cs:
void Session_Start(object sender, EventArgs e) {
// your code here, it will be executed upon session start
}
Run Code Online (Sandbox Code Playgroud)
但该方法未被调用...如何让ASP.NET Session_Start在会话启动时调用该方法?
我无法想象如何捕获会话创建的事件.
这是情况。
我有一个保存和一个打印按钮:
<input name="btnSubmit" type="submit" value="Save" />
<input name="btnSubmit" type="submit" value="Print"/> @*Redirect to Action("Print", "controler")*@
Run Code Online (Sandbox Code Playgroud)
但是打印按钮必须打开一个新标签。如果只是我,我显然知道我必须在打印前保存……这不是问题。我可以将此链接与目标空白一起使用:
<a target="_blank" href="@Url.Action("Print", "controler", new { id = Model.id })" type="submit" value="Print" > Print</a>
Run Code Online (Sandbox Code Playgroud)
很简单,但现在有些用户认为打印按钮也应该保存页面。因为他们不推送保存......他们只是打印并且模型更改丢失了,因为我无法在我的打印链接中调用发布操作......这是一个链接。
起初,我想我可以对保存函数进行异步调用,但是我的模型太大了,它需要回传它自己的动作(对吗?)
经历了这个:
如何在 response.redirect 上使用 Target=_blank?
而且我不确定它是否真的对 MVC 有帮助……现在我被困在这里:
[HttpPost]
public ActionResult MyForm(string btnSubmit, formModel model)
{
if (btnSubmit == "Print")
{
dbSave(model);
return RedirectToAction("Print", "controler"); // Won't open new tab...
}
}
Run Code Online (Sandbox Code Playgroud) 这是我的JavaScript函数:
function WantToSave()
{
alert('You should save now !');
}
Run Code Online (Sandbox Code Playgroud)
这是我的ASP.NET代码背后:
Page.ClientScript.RegisterStartupScript(this.GetType(), "MyKey", "WantToSave();");
Run Code Online (Sandbox Code Playgroud)
RegisterStartupScript达到了这个功能,这是肯定的.但它不会触发我的JavaScript功能.而第二个参数,它应该是一个"起始脚本的关键"是的,但我应该把它放在那里?
我希望这样做:
ScriptManager.RegisterStartupScript(this, this.GetType(), Guid.NewGuid().ToString(), "alert('Vous n'avez pas les droits d'accès à cette application.');", true);
Run Code Online (Sandbox Code Playgroud)
没有:没有办法制定这句法语句子':
'Vous n'avez pas les droits d'accès à cette application.'
Run Code Online (Sandbox Code Playgroud)
Javascript失败,因为(可能)遇到该字符时,它期望它是字符串的结尾.
我尝试过很多东西\','''但是......没有运气......
c#中的等价物是这样的:
string s = MyFonction(s /* .Replace("r","t") */ );
Run Code Online (Sandbox Code Playgroud)
我只评论该行的一部分,这样我就不会忘记我所做的一点点加法,我可以通过删除/*和*/来重新激活它
我想在Excel的VBA中做同样的事情:
ActiveCell'.Offset(1, 0)'.CurrentRegion.Select
Run Code Online (Sandbox Code Playgroud)
我认为没有办法直接这样做.尽管如此,能够评论部分线路是非常有用的......
有没有办法至少模拟它?
我在表中有一个特定的列,它只包含Nvarchar长度为3的数字.不幸的是,有些用户写的是'12',但是他们应该写'012'.当时没有足够的验证.
我需要解决这个问题.这是我使用的逻辑:
UPDATE [Mandats_Approvisionnement].[dbo].[ARTICLE_ECOLE]
SET [UNIT_ADM] = STUFF(UNIT_ADM, 0, 0, '0')
WHERE LEN(UNIT_ADM) = 2;
Run Code Online (Sandbox Code Playgroud)
错误如下:
无法将值NULL插入列'UNIT_ADM',表'Mandats_Approvisionnement.dbo.ARTICLE_ECOLE'; 列不允许空值.更新失败.
我无法看到问题所在,我验证了所有记录至少包含2个字符,因此该STUFF函数不能返回null,因为NULL该表列中没有记录[unit_adm]...如何使其工作?
我一直在寻找一种方法来使用更快的EF查询来执行以下操作:
using (DAL.MandatsDatas db = new DAL.MandatsDatas())
{
if(db.ARTICLE.Any( t => t.condition == condition))
oneArticle = db.ARTICLE.First( t => t.condition == condition);
}
Run Code Online (Sandbox Code Playgroud)
它工作正常,但我添加的越多,感觉就越慢.它看起来好像经历了所有行2次(我不知道是不是这样)
我一直在寻找,看到人们使用count() > 0和其他不相关的东西......
有没有更快的方法来检查是否存在然后采取它.
此外,我想知道是否FirstOrDefault()可以帮助我的情况,它是如何工作的?
使用最新版本的MVC,我想更改项目的样式。通过阅读这个问题,我想我可以使用这段代码:
@Html.DisplayNameFor(model => model.Adresse, new { style="width:1000px;" })
Run Code Online (Sandbox Code Playgroud)
但它不会改变任何元素的样式。我该如何修复此代码?
有没有办法在我的IIS服务器上发布我的MVC Web应用程序,就像我在经典ASP.NET 2010中一样.我的意思是,我真的不需要azure,因为我有一个IIS服务器启动并运行,我我正在寻找那个窗口之王:
但是我坚持这个:
而且我一直想知道我Server :为了让这件事有用而付出了什么......因为我有一个中心驱动器,所以我没有指明它...
我希望我的Web应用程序在服务器上上传大zip文件.这是我的代码逻辑:
@using (Html.BeginForm("AddApplication", "Admin", FormMethod.Post, new { enctype = "multipart/form-data", @class = "form-horizontal", role = "form" }))
{
<div class="form-group">
<span>PUT FILE HERE : <input style="min-width: 550px;" type="file" name="zippedApp" /></span>
</div>
}
Run Code Online (Sandbox Code Playgroud)
在后台c#代码中:
[HttpPost]
public ActionResult AddApplication( string description, HttpPostedFileBase zippedApp)
{
//code
}
Run Code Online (Sandbox Code Playgroud)
没有达到C#功能......在它进入我拥有的功能之前:
HTTP错误404.13 - 未找到
所以我读到了这个:
IIS7 - 当请求参数的大小超过30mb时,Webrequest以404.13失败
它让我觉得没有人真正知道答案.因为在我的情况下我确定它与MVC web.Config有关.
我<httpRuntime targetFramework="4.5.2" maxRequestLength="102400" executionTimeout="6000" />在可以找到的每个配置中添加了一堆......但还没有成功.
就像标题所说的那样,使用ASP.Net项目背后的C#代码,我想打开用户的默认邮件客户端,其邮件正文中已经填充了某些信息。
我能够直接发送包含信息的消息:
private static bool EnvoieCourriel(string adrCourriel, string corps, string objet, string envoyeur, Attachment atache)
{
SmtpClient smtp = new SmtpClient();
MailMessage msg = new MailMessage
{
From = new MailAddress(envoyeur),
Subject = objet,
Body = corps,
IsBodyHtml = true
};
if (atache != null)
msg.Attachments.Add(atache);
try
{
msg.To.Add(adrCourriel);
smtp.Send(msg);
}
catch
{
return false;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
我还能够打开用户的默认电子邮件客户端:
string email = op.CourrielOperateur1;
ClientScript.RegisterStartupScript(this.GetType(), "mailto", "parent.location='mailto:" + email + "'", true);
Run Code Online (Sandbox Code Playgroud)
但是现在...我想像第二个示例一样打开客户端,但是主体必须已经填充了默认文本...
任何想法,将不胜感激。
使用最新版本的ASP.net MVC,我试图将一个事件监听器附加到TextBox,以便在单击时突出显示TextBox的内容.
我认为这个简单的JQuery会起作用:
@Html.TextBoxFor(t => t.item1, new { onclick= "$(this).blur();" })
Run Code Online (Sandbox Code Playgroud)
但是当我点击TextBox时,它会立即失去焦点而不会在浏览器的控制台中留下任何错误.
我也尝试过JQuery onfocus和onmouseup事件而没有成功.
如何在单击时突出显示TextBox的内容?
我有5个文件,我已经解析过了.它们是文本文件,我不知道如何通过命令行arguemnt将它们传递给程序.我正在使用visual studio和C sharp.当我进入Project>Properties>Debug>Command Line Argument>Do我只需输入文件?像File01.txt,File02.txt等...
c# ×9
asp.net ×6
asp.net-mvc ×6
html ×2
javascript ×2
azure ×1
comments ×1
email ×1
excel ×1
excel-vba ×1
file-upload ×1
iis ×1
jquery ×1
razor ×1
session ×1
sql ×1
sql-server ×1
tabs ×1
vba ×1
web-config ×1
webforms ×1