相关疑难解决方法(0)

在C#中生成HTML电子邮件正文

是否有更好的方法在C#中生成HTML电子邮件(通过System.Net.Mail发送),而不是使用Stringbuilder执行以下操作:

string userName = "John Doe";
StringBuilder mailBody = new StringBuilder();
mailBody.AppendFormat("<h1>Heading Here</h1>");
mailBody.AppendFormat("Dear {0}," userName);
mailBody.AppendFormat("<br />");
mailBody.AppendFormat("<p>First part of the email body goes here</p>");
Run Code Online (Sandbox Code Playgroud)

等等等等?

html c# email

108
推荐指数
6
解决办法
21万
查看次数

是否可以在asp.net外部使用Razor View Engine

如果我看Razor视图引擎,然后我看到一个非常漂亮和简洁的语法并不特别依赖于生成HTML.所以我想,这将是多么容易使用在发动机外部asp.net中的一个"正常"的.NET环境,例如生成文本,代码,...

欢迎使用任何指针,示例,注释或解释.

asp.net asp.net-mvc code-generation templating razor

102
推荐指数
4
解决办法
4万
查看次数

使用新的RazorEngine API进行模板化

前一段时间渲染模板RazorEngine就像以下一样简单:

string s = RazorEngine.Razor.Parse()
Run Code Online (Sandbox Code Playgroud)

但是,出于某种原因,它的作者改变了对API的看法,现在渲染模板的最简单方法是:

var key = new RazorEngine.Templating.NameOnlyTemplateKey("EmailTemplate", RazorEngine.Templating.ResolveType.Global, null);
RazorEngine.Engine.Razor.AddTemplate(key, new RazorEngine.Templating.LoadedTemplateSource("Ala ma kota"));
StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
RazorEngine.Engine.Razor.RunCompile(key, sw);
string s = sb.ToString();
Run Code Online (Sandbox Code Playgroud)

(至少这是我从新API中推断出来的.旧的标记为已弃用.)有没有办法使用新的API来渲染模板而不需要缓存,键和其他花哨的东西?所有官方的例子根本不起作用.

c# razor

56
推荐指数
2
解决办法
4万
查看次数

在.NET中进行字符串模板化的好方法是什么?

我需要向用户发送电子邮件通知,我需要允许管理员为邮件正文(也可能是标题)提供模板.

我喜欢这样的东西string.Format允许我给出命名的替换字符串,所以模板看起来像这样:

Dear {User},

Your job finished at {FinishTime} and your file is available for download at {FileURL}.

Regards,

-- 
{Signature}
Run Code Online (Sandbox Code Playgroud)

对我来说最简单的方法是什么?

.net c# string templating

47
推荐指数
10
解决办法
4万
查看次数

使用没有MVC的Razor

可能重复:
是否可以在asp.net外部使用Razor View Engine

我需要将模板与数据合并以在运行时创建唯一的字符串.有人建议我查看ASP.NET MVC 3 中的Razor模板视图引擎.看起来很棒,但我需要在MVC视图创建之外使用它.

我知道我可以直接使用核心Razor引擎,但我也发现了一些使Razor更容易使用的项目.喜欢:

  1. Rick Strahl的Razor托管模板引擎 - http://www.west-wind.com/weblog/posts/864461.aspx
  2. GitHub上的Razor引擎 - https://github.com/Antaris/RazorEngine

有没有人有任何关于在MVC之外使用Razor作为独立模板引擎的指导?有这些包装项目的经验吗?我应该研究其他Razor托管实现吗?

c# asp.net-mvc razor

43
推荐指数
3
解决办法
5万
查看次数

在webform中查找控件

我有一个Web内容表单,需要访问内容面板中的控件.我知道有两种访问控件的方法:

  1. TextBox txt = (TextBox)Page.Controls[0].Controls[3].Controls[48].Controls[6]
  2. 通过编写一个搜索所有控件的递归函数.

还有其他更简单的方法,因为Page.FindControl在这种情况下不起作用.我问的原因是我感觉像Page对象或Content Panel对象应该有一个方法来查找子控件,但找不到类似的东西.

c# asp.net webforms

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

在另一个页面中呈现一个aspx页面

在我的Web项目的业务对象编辑器页面中,我在对象插入或更新后向管理员发送通知电子邮件.但是,我想发送另一个aspx页面(Notification.aspx)的html输出而不是发送纯文本邮件,我只是为此目的而准备.

首先我想,我可以创建一个Notification.aspx的实例,然后使用它的RenderControl方法来获取输出.

但是,在Editor.aspx页面的代码隐藏中,我甚至无法达到Notification的创建新实例的引用.

我想知道在另一个页面中加载和呈现页面的最佳实践是什么...

谢谢.

c# asp.net rendering

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

在具有服务器控件的页面上使用LoadControl

我正在尝试创建一个可以作为电子邮件发送的用户控件模板.

在实用程序类中,我有一个包含此代码的方法:

StringBuilder sb = new StringBuilder();
Page p = new Page();
UserControl ctrl = (UserControl)p.LoadControl("~/EmailTemplates/OrderConfirmation.ascx");
StringWriter sw = new StringWriter(sb);
Html32TextWriter htw = new Html32TextWriter(sw);

ctrl.RenderControl(htw);
Run Code Online (Sandbox Code Playgroud)

这正确地写入了用户控件文本,但是如果我想在控件页面内使用服务器控件(例如listview),则永远不会评估列表视图.似乎只评估内联代码块.我怎么能绕过这个?

c# asp.net

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

电子邮件模板引擎

我即将为我正在处理的网站编写一个简单的电子邮件管理器(asp.net/c#); 该网站发送各种电子邮件,如帐户创建,新闻,一些用户操作等.因此,将有一些电子邮件模板与[$ FirstName]占位符将被实际值替换.很标准的东西.我只是想知道是否有人可以就现有代码提出建议 - 再次,我需要一些非常简单的东西,没有很多铃声/口哨,显然有源代码(和免费)

任何想法/意见将受到高度赞赏!

谢谢,安德烈

c# asp.net template-engine email-integration

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

.NET C#Email:使用电子邮件模板

我想使用HTML模板发送HTML电子邮件.我想从该HTML模板中替换一些值.知道怎么做到这一点?

.net c# email

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

我可以使用什么来获取超出String.Format的名称字符串模板?

我正在处理需要大量字符串操作的任务,例如:

string result = 
    String.Format("template text {0}, {1}, ... {150}", arg1, arg2, ... ,arg150);
Run Code Online (Sandbox Code Playgroud)

由于参数数量众多,这种感觉并不优雅,我担心参数顺序会出错.

ASP.NET样式模板(即template text <%= arg1 %>, <%= arg2 %>,会很好,但我不想为了获得更好的模板引擎而对Web服务器进行Web请求.

有一个更好的方法吗?

.net c# string

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