我想通过MailChimp发送电子邮件.如何在.Net中这样做?
有没有人有示例代码?
谢谢.
我正在尝试使用Oracle 11g Express和.NET 4.0框架开发ASP.NET MVC 4.0应用程序.我可以使用ODP.NET提供程序连接到数据库,也可以针对数据库生成我的EDMX.我不能做的是使用实体框架查询底层数据库.使用生成的connectionString Visual Studio实例化我的DbContext时,出现以下错误:
无法找到请求的.Net Framework数据提供程序.它可能没有安装
但是,它安装是因为
我在Cassini本地运行代码,我的硬件是32位架构,所以我假设我只能使用32位DLL,所以这不是架构问题.
代码的具体位是这样的:
public class MyContext : ObjectContext, IUnitOfWork
{
public MyContext()
: base(ConfigurationManager
.ConnectionStrings["OracleEntities"]
.ConnectionString)//Connectionstring is verified
{}
}
Run Code Online (Sandbox Code Playgroud)
在我离开一切之前请帮助我,留胡子然后在某个地方住在山上.
解决方案:由于我没有看到任何提及解决方案,我会在这里为后代提及它.Andrei下面询问了我的连接字符串格式,虽然我很狡猾,但我去看看了.这就是我所看到的:
metadata=res://*/OracleModel.csdl|res://*/
OracleModel.ssdl|res://*/
OracleModel.msl;
provider=provider=Oracle.DataAccess.Client;
provider connection string="DATA SOURCE=localhost:1521;
PASSWORD=xxx;PERSIST SECURITY INFO=True;USER ID=xxx
Run Code Online (Sandbox Code Playgroud)
现在,要特别注意这条线
provider=provider=Oracle.DataAccess.Client;
Run Code Online (Sandbox Code Playgroud)
事实上它应该阅读
provider=Oracle.DataAccess.Client;
Run Code Online (Sandbox Code Playgroud)
否则你告诉EF使用[provider.dll],这不是真的.另请注意,似乎已覆盖或忽略connectionString元素的providerName属性.
更新2:如果此STILL没有帮助,请查看machine.config.您应该看到以下部分:
<add name="Oracle Data Provider for .NET" invariant="Oracle.DataAccess.Client" description="Oracle Data Provider for .NET" type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, Version=4.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
<remove invariant="Oracle.DataAccess.Client" /> …Run Code Online (Sandbox Code Playgroud) 我有这个恼人的问题,我的DropDownlist默认情况下不选择当前值.
控制器:
var YearsCycling = new SelectList(new List<SelectListItem>()
{
new SelectListItem(){ Value="1yr", Text="1yr"},
new SelectListItem(){ Value="1-3yrs", Text="1-3yrs"},
new SelectListItem(){ Value="3-5yrs", Text="3-5yrs"},
new SelectListItem(){ Value="5-10yrs", Text="5-10yrs"},
new SelectListItem(){ Value="10+yrs", Text="10+yrs"}
},
"Value",
"Text",
new SelectListItem() { Value = "5-10yrs", Text = "5-10yrs",
Selected = true });
ViewBag.YearsCycling = YearsCycling;
Run Code Online (Sandbox Code Playgroud)
视图:
<%:Html.DropDownListFor(model=>model.YearsCycling,(SelectList)ViewBag.YearsCycling,"-select-") %>
Run Code Online (Sandbox Code Playgroud)
但它不是选择"5-10yrs",而是显示"-select-"选项,如果我检查DOM源,则不会选择任何元素.
更新:我仍然不知道问题是什么,但我现在通过做一些丑陋的事情让它工作:
<%
var sl = (SelectList)ViewBag.YearsCycling;
%>
<select name="YearsCycling" id="YearsCycling">
<%foreach(var li in sl){ %>
<option value="<%:li.Value %>" <%if(li.Selected){%>selected="true"<%}%>><%:li.Text %></option>
<%} %>
</select>
Run Code Online (Sandbox Code Playgroud)
这不是最好的解决方案,但如果你因为你一直在拉扯你的头发来解决这个问题,这应该会有所帮助.
我需要使用Telerik JustDecompile反编译旧的类库.我的问题是该库引用了System.Web.dll版本1.0.5000.0之类的东西,如果我没弄错的话,这是.NET 1.0版本.
我可以访问的所有PC都在运行Windows 7,所以我不能简单地安装1.0框架.所以,我需要以其他方式获取库.
如果我在不解析引用的情况下反编译库,就会发生奇怪的事情,就像库中的所有web方法都使用空[SoapDocumentMethod(,)],[[SoapHeader(,)]等注释一样进行反编译.
我还需要解析mscorlib.dll,System.Data.dll和System.Web,但是如果我在反编译后手动添加对较新版本的引用似乎并不重要.这只是System.Web.Services似乎是一个问题.
标题可能有点误导,所以让我澄清一下:我不想知道如何重命名连接字符串或数据库名称。我要找出的是如何在SQL Management Studio中为数据库连接创建友好标签?
例如,我有以下连接:

我想将它们重命名为其他名称,例如“ dev server”,“ PreProd”,“ Live”或任何情况。我以为我可以在SSMS中轻松地做到这一点,但显然我做不到。
我一直担心我可能会在不正确的服务器上无意中进行更改,并且拥有一个友好的名称将大大有助于防止该错误。
我正在动态生成CSV数据导出.我这样做是通过获取项的哈希集,然后逐行转换它们并将它们写入MemoryStream,然后将其作为FileResult发送到客户端.问题是文件末尾有大约一百万个NULL字符,我猜这些字符的数量等于hashset中的项目数.但它们位于文件的末尾,而不是每行的结尾.
无论如何,代码是这样的:
Controller方法:
public ActionResult ExportList(ListExportModel model)
{
System.IO.MemoryStream ms = ls.ExportListToCsv(model,Server.MapPath("~/uploads"));
return File(ms.GetBuffer(),"text/csv",model.MailingList.ListName + ".csv");
}
Run Code Online (Sandbox Code Playgroud)
ExportListToCsv方法
public MemoryStream ExportListToCsv(ListExportModel model, string folderpath)
{
MemoryStream stream = new MemoryStream();
StreamWriter writer = new StreamWriter(stream);
writer.WriteLine(string.Join(",", model.Columns));
var data = GetListItemsFromCsv(model.ListId, folderpath);
XmlDocument doc = new XmlDocument();
// Parallel.ForEach(data, (li) =>
foreach (var li in data)
{
string line = "";
foreach (var field in model.Columns)
{
doc.LoadXml(li.CustomFields);
switch (field)
{
//our standard fields
case "email":
line += li.Email + …Run Code Online (Sandbox Code Playgroud) 我正在开发ASP.NET MVC4.我的代码中有两个提交JSON对象的JSON请求.其中一个工作正常,另一个由于某种原因传递null.有任何想法吗?
注意:在两个实例中,请求实际上都到达了预期的控制器.只是第二个传递NULL,而不是我填充的对象.
工作javascript:
$('#btnAdd').click(function () {
var item = {
Qty: $('#txtQty').val(),
Rate: $('#txtRate').val(),
VAT: $('#txtVat').val()
};
var obj = JSON.stringify(item);
$.ajax({
type: "POST",
url: "<%:Url.Action("AddToInvoice","Financials")%>",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: obj,
success: function (result) {
alert(result);
},
error: function (error) {
//do not add to cart
alert("There was an error while adding the item to the invoice."/* + error.responseText*/);
}
});
});
Run Code Online (Sandbox Code Playgroud)
工作控制器动作:
[Authorize(Roles = "edit,admin")]
public ActionResult AddToInvoice(InvoiceItem item)
{
return Json(item);
}
Run Code Online (Sandbox Code Playgroud)
传递NULL对象的javascript:
$('#btnApplyDiscount').click(function () …Run Code Online (Sandbox Code Playgroud) 我需要使用设备控制Javascript库从GPSMap 62设备读取数据.问题是,与旧设备不同,此设备每天将其航点存储在单独的.GPX文件中.javascript库期望所有轨道和航点都在current.gpx文件中,但62将它们存储在例如Waypoints_06-MAY-14.gpx等每天.
如果没有要求用户手动上传相应的文件,是否有人让DeviceControl库实际支持具有单独GPX文件的新设备?
作为额外的奖励,Garmin设备控制库已被弃用,因此不会有任何更新.
一些代码
startReadFromGps: function(deviceNumber) {
this.plugin.StartReadFromGps( deviceNumber ); //invokes the external plugin
},
Run Code Online (Sandbox Code Playgroud) 我为我们的一个客户开发的网站有一个奇怪的问题.我要做的是使用"添加到主屏幕"Safari菜单项为主页添加书签.然后我会浏览一段时间,然后回到手机的主屏幕,例如,如果有人打电话给我,或者我正在检查邮件或iPhone用户做的任何事情.当我点击主屏幕上的书签时,我将进入登录页面.当我登录时,我正常进入主页,但如果我尝试在其他任何地方导航,则链接将在新的浏览器实例中打开.我知道这是因为我的书签链接以全屏模式打开Safari会话,但新浏览的链接打开了一个Safari会话,地址栏和其他好东西可见.然后我必须再次登录,但这次一切正常.
只有当我使用带书签的链接时,它才会执行此奇怪的登录操作.该网站在台式机(Mac和PC)以及Android和Windows Phone 7.x和8.x设备上运行良好.
一些背景知识:我们开发了客户端MS Access应用程序的ASP.NET MVC端口.应用程序使用/使用MySQL作为ODBC的数据存储.我们遇到的是,如果客户端使用MS Access应用程序捕获新记录,并且在MVC应用程序捕获新记录后不久,MVC应用程序的记录似乎会覆盖Access应用程序创建的最后一条记录,如以及创建第二条记录.
实际上,Access应用程序的记录最初看起来像这样
ID | NAME | SURNAME
1 | joe | Schmoe
Run Code Online (Sandbox Code Playgroud)
但是,当MVC应用程序创建其中一条记录时,会发生以下情况:
ID | NAME | SURNAME
1 | james | smith
2 | james | smith
Run Code Online (Sandbox Code Playgroud)
MVC应用程序似乎覆盖了Access捕获的最后一条记录,以及创建新记录.
我们使用Entity Framework 5.我们所做的就是保存记录
var record = new Person(){NAME = "james", SURNAME = "smith"};
db.People.Add(record);
db.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
只有在客户端使用Access应用程序时才会发生此类事情.并且只有当最后添加的记录来自Access应用程序且新记录来自MVC/EF应用程序时才会发生.
任何输入将不胜感激.
通过Access捕获一系列记录时,不会发生这种情况.通过Entity Framework捕获一系列记录时,它不会发生.首先通过Entity Framework和THEN Access捕获时,不会发生这种情况.它仅在序列为Access first,Entity Framework second时发生.