小编Pau*_*aul的帖子

将修改后的WordprocessingDocument保存到新文件中

我正在尝试打开W​​ord文档,更改一些文本,然后将更改保存到新文档.我可以使用下面的代码完成第一项,但我无法弄清楚如何将更改保存到新文档(指定路径和文件名).

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using DocumentFormat.OpenXml.Packaging;
using System.IO;

namespace WordTest
{
class Program
{
    static void Main(string[] args)
    {
        string template = @"c:\data\hello.docx";
        string documentText;

        using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(template, true))
        {
            using (StreamReader reader = new StreamReader(wordDoc.MainDocumentPart.GetStream()))
            {
                documentText = reader.ReadToEnd();
            }


            documentText = documentText.Replace("##Name##", "Paul");
            documentText = documentText.Replace("##Make##", "Samsung");

            using (StreamWriter writer = new StreamWriter(wordDoc.MainDocumentPart.GetStream(FileMode.Create)))
            {
                writer.Write(documentText);
            }
        }
      }
    }
}
Run Code Online (Sandbox Code Playgroud)

我是一个完全的初学者,请原谅基本问题!

c# office-2007 openxml openxml-sdk

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

在代码MVC Razor中渲染部分视图

我正在使用MVC 3 Razor为实践目的制作一个简单的CMS,我的想法是我创建了一些局部视图.

我想要进行数据库查找,并看到3个部分视图需要渲染到页面.

我该怎么做?在WebForms中,您调用LoadControl(ControlURL),但我在这里看不到等价物.

它会成为客户端吗?

编辑 - 我更想从模型中获取视图名称,然后渲染该视图而不是事先知道视图的名称.因此,页面可能具有名为Foo的视图或名为Bar的视图.该模型在运行时将告诉控制器操作呈现哪个视图.

views partial asp.net-mvc-3

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

Web.config文件.将所有流量重定向到www.my ...使用rules元素.

我有一个web.config文件,可以自动将流量发送到HTTPS.但是,如果有人进入MyDomain.com,那么它将转到https://mydomain.com,如果有人进入www.mydomain.com,那么它将转到https://www.mydomain.com.

我希望所有流量都转到https://www.mydomain.com.这可以使用web.config的rules元素吗?我的文件目前看起来像这样:

<rewrite>
  <rules>
      <rule name="HTTP to HTTPS redirect" stopProcessing="true">
          <match url="(.*)" />
          <conditions>
              <add input="{HTTPS}" pattern="off" ignoreCase="true" />
          </conditions>
          <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
      </rule>
  </rules>
Run Code Online (Sandbox Code Playgroud)

asp.net redirect web-config

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

使用实体框架模型/数据库进行MVC3验证

我想为我的应用程序使用MVC 3和Entity Framework.

该模型将存储在与MVC应用程序不同的程序集中.

我正在做的选择是使用EF生成我的实体或首先使用代码.

首先使用代码,我可以使用[Required]等来装饰成员...但是,如果EF已经从DB生成实体,我将如何添加这些属性?

让EF生成我的实体将节省大量时间,但我希望MVC自动填充验证,具体取决于我如何装饰我的成员.这有意义吗?如果是这样,我该怎么做?

asp.net-mvc entity-framework

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

为什么MvcHandler.BeginProcessRequest()这么慢?

我有一个MVC项目,我正在考虑加快速度.我正在摸索的一件事是我无法控制的BeginProcesRequest().使用New Relic我发现这种方法平均占用了交易完成所需时间的90%.

我的控制器中的代码非常简单.它查找用户的操作会话,并在找到时重定向到其仪表板.实际页面上没有任何数据库调用.唯一写的是:

if (Session["UserID"] != null)
// Perform actions
Run Code Online (Sandbox Code Playgroud)

正如您在屏幕截图中看到的那样,BeginProcessRequest()方法大约需要4秒

在此输入图像描述

这不是我网站的独特之处吗?我正在为服务器使用一个小的EC2实例,虽然在站点上运行其他应用程序,但CPU和内存在整个请求期间几乎保持为0.

EDIT - 审查了以下帖子:

BeginProcessRequest()会发生什么?

但是,当我的应用程序在最耗时的请求发生时处于空闲状态时,我无法看到它与竞争线程的关系.

asp.net-mvc performance session-state

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

C#接口和基类

我有一个C#接口,以及一个实现该接口的具体类.我现在想要创建另一个实现该接口的类.很简单.

但是,大多数方法在类中都是完全相同的,只有几种方法实际上会发生变化.

我不想复制第一个包含在我的第二个类中的所有逻辑.

如何创建第二个类,并在我的第一个类中使用逻辑,除了额外的东西?

我的界面叫做IEventRepository,我的第一个类叫做BaseEvents.我现在想创建一个名为FooBarEvents的新类.

我对FooBarEvents的类定义是:

public class FooBarEvents : BaseEvents, IEventRepository
Run Code Online (Sandbox Code Playgroud)

我的意图是在每个重复代码的方法中使用return base.Method().

我假设这不正确?

c# oop inheritance

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

服务引用(VS2013)在命名空间中使用元素名称声明了多个错误

我正在尝试使用由Visual Studio 2013中的Oracle Web Logic创建的Web服务.我添加了服务引用,但是当我调用服务构造函数时,我收到错误:

在操作(operationName)中,在名称空间(名称空间URL)中使用元素名称(elementName)声明了多个错误

WSDL中此操作的片段如下图所示:

在此输入图像描述

每次我尝试使用该服务时都会抛出此异常,我无法继续进行此操作.

这是WSDL的问题还是我可以作为消费者做些什么?

c# wcf wsdl weblogic visual-studio-2013

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

大量使用ViewBag

我在我的MVC应用程序中大量使用ViewBag,这被认为是不好的做法吗?我不确定是否花时间创建ViewModel(但我认为它更适合MVVM而不是MVC)或继续大量使用ViewBag.支持和反对的理由是什么?示例控制器方法将返回它的模型(通常是一个简单的域实体)以及以下对ViewBag的调用:

            ViewBag.TotalItems = data.Count();
        ViewBag.FilteredItems = gridFilters;
        ViewBag.Action = "Events";
        ViewBag.Area = "People";
        ViewBag.EntityID = person.EntityID;
        ViewBag.OrganisationID = ID;
        ViewBag.Name = string.Format("{0} {1}", person.FirstName, person.LastName);
        ViewBag.IsEnabled = person.IsEnabled;
        ViewBag.EntityID = person.EntityID;
        ViewBag.Favourited = users.IsOnUserFavourites(person.EntityID);

        ViewBag.Columns = userColumns;

        ViewBag.Title = "Person : " + string.Format("{0} {1}", person.FirstName, person.LastName) + " - Events";
Run Code Online (Sandbox Code Playgroud)

razor viewbag asp.net-mvc-3

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

ASP.NET MVC 3 List <T>到IEnumerable <SelectListItem>

我目前不满意填充DropDownListFor()对象的方式.我试图找到尽可能填充IEnumerable的通用方法.这就是我到目前为止所拥有的.

帮手:

public static List<SelectListItem> ToSelectList(IDictionary<string,string> dictionaryItems, string selectedValue, string noSelection, bool search = false)
    {
        List<SelectListItem> items = new List<SelectListItem>();

        if (search)
        {
            items.Add(new SelectListItem { Selected = true, Value = "-1", Text = string.Format("-- {0} --", noSelection) });
        }

        foreach (var item in dictionaryItems)
        {
            items.Add(new SelectListItem
            {
                Text = item.Key,
                Value = item.Value,
                Selected = selectedValue == item.Value ? true : false
            });
        }

        return items
            .OrderBy(l => l.Text)
            .ToList();
    }
Run Code Online (Sandbox Code Playgroud)

控制器:

[HttpGet]
    public ActionResult Index()
    { …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc razor asp.net-mvc-3

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

ASP.NET MVC 3 DropDownList selectedindexchanged

我有一项功能,允许用户根据自己的状态代码过滤记录.在菜单中,我有一个自定义过滤器部分:

<h3>Custom Filters</h3>
 <br />
   <ul id="ui-ajax-tabs">
      @{ Html.RenderAction("GetGroups", "Manage");}
    </ul>
Run Code Online (Sandbox Code Playgroud)

而我的部分观点如下:

@model IEnumerable<AllEngage.Model.Group>

@using AllEngage.Web.Helpers

@foreach (var group in Model)
{
    <li>
        <label for="@group.GroupName">@group.GroupName</label>
        @Html.DropDownList("GroupItems", group.GroupItems.ToSelectListItems())
    </li>
}
Run Code Online (Sandbox Code Playgroud)

从下拉列表中选择一个项目时,我想在我的控制器中触发一个操作方法:

[HttpGet]
public ActionResult Index(int page = 1, int groupFilterId = -1)
Run Code Online (Sandbox Code Playgroud)

什么是最好的方式去?使用json开火还是以某种方式回复帖子?

asp.net-mvc razor drop-down-menu

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