小编San*_*San的帖子

使用反射获取类方法

当类名作为字符串传递时,如何使用反射获取类的所有公共方法,如下面的方法所示.?

 private  MethodInfo[] GetObjectMethods(string selectedObjClass)
 {
   MethodInfo[] methodInfos;
   Assembly assembly = Assembly.GetAssembly(typeof(sampleAdapater));
   Type _type = assembly.GetType("SampleSolution.Data.MyData." + selectedObjClass);

  ///get all the methods for the classname passed as string

   return methodInfos;

 }
Run Code Online (Sandbox Code Playgroud)

请帮忙.谢谢

c# reflection

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

提示文件下载

我在我的页面上有一个链接,点击其中我试图生成PDF文档,然后在浏览器上显示"打开 - 保存"提示.

我的HTML(reactjs组件)具有以下代码,其中onclick调用该_getMyDocument函数然后调用Webapi方法.

 <div className="row">
     <a href="#" onClick={this._getMyDocument.bind(this)}>Test Link</a>
 </div>  

_getMyDocument(e) {
            GetMyDocument(this.props.mydata).then(()=> {
   }).catch(error=> {

  });
Run Code Online (Sandbox Code Playgroud)

我的控制器具有以下代码

[HttpPost]
[Route("Generate/Report")]
public IHttpActionResult GetMyReport(MyData myData)
 {  
    byte[] myDoc = MyBusinessObject.GenerateMyReport(myData);
    var result = new HttpResponseMessage(HttpStatusCode.OK)
        {
            Content = new ByteArrayContent(myDoc)
        };
        result.Content.Headers.ContentDisposition =
            new ContentDispositionHeaderValue("attachment")
            {
                FileName = "MyDocument.pdf"
            };
        result.Content.Headers.ContentType =
            new MediaTypeHeaderValue("application/octet-stream");

        var response = ResponseMessage(result);

        return response;
  }
Run Code Online (Sandbox Code Playgroud)

目前所有代码都执行但我没有得到文件PDF下载提示.我在这做错了什么?

响应对象成功来自ajax调用lokks如下

在此输入图像描述

javascript c# jquery reactjs asp.net-web-api2

18
推荐指数
2
解决办法
8615
查看次数

Popup始终保持领先

我有一个WPF应用程序,它有一个主窗口,我打开一个弹出窗口.我面临的问题是弹出窗口总是保持在最顶层.如果我打开一些其他应用程序(任何Windows应用程序),主窗口进入后台但弹出窗口仍然在顶部.但是如果我最小化Mainwindow,Popup也会最小化.

下图显示了问题. PopUp窗口出现在记事本应用程序的顶部

请帮助克服这个问题.

更新:

我打开Popup如下

 myPopup.IsOpen = true;
Run Code Online (Sandbox Code Playgroud)

c# wpf

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

将参数传递给 SQL Server 中的 IN 子句

可能的重复:
参数化 SQL IN 子句?
SQL Server - 带有声明变量的 In 子句

你好,

我在将参数传递给“IN”子句时遇到问题。我正在使用以下查询。

询问:

SELECT Topics.Topic_Id  FROM Topics 
    Where Topic_Description IN (''+ @Topics +'')    
Run Code Online (Sandbox Code Playgroud)

当参数具有单个值时,此查询有效。我的参数可以有逗号分隔的多个值,例如:“一”、“二”、“三”、“四”。但是只要有多个参数,查询就会失败。如何克服这个?请建议。

谢谢

我必须将上述内容用作存储过程的一部分。我必须将选择查询的结果放入如下游标中:

DECLARE cur_TopicIDs CURSOR FOR SELECT Topics.Topic_Id FROM Topics Where Topic_Description IN (''+ @Topics +'')....等

在这种情况下,我如何按照其他链接中的建议使用动态 sp

stored-procedures sql-server-2005 in-clause

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

RadioButtonFor中的默认选择

我正在生成radiobutton列表,然后尝试在加载时选择一个选项,如下所示.

在视图中的Foreach循环

@foreach (var myListItem in Model.MyList)
 {
    @Html.RadioButtonFor(m => m.MyType,myListItem.MyType, new {id = myListItem.MyType, @Checked = (Model.MyTypeId == myListItem.MyTypeId) })
    @myListItem.MyType
 }
Run Code Online (Sandbox Code Playgroud)

尽管HTML生成正确(参见下文).即使是,也会检查第二个选项而不是第一个选项Model.MyTypeId = 0.

生成的HTML视图

<input id="0" name="MyType" value="Option One" CHECKED="True" type="radio">Option One
<input id="1" name="MyType" value="Option Two  " CHECKED="False" type="radio">Option Two    
Run Code Online (Sandbox Code Playgroud)

请建议我如何通过deafult选择所需的单选按钮选项.

.net html c# asp.net asp.net-mvc-3

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

从PropertyInfo []中删除属性

从"属性"中删除前四个属性的最简单方法是什么?其中属性是PropertyInfo集合,如下所示.

PropertyInfo[] properties = GetAllPropertyForClass(className);

public static PropertyInfo[] GetAllPropertyForClass(string className) {
    Type[] _Type = Assembly.GetAssembly(typeof(MyAdapter)).GetTypes();

    return _Type.SingleOrDefault(
                t => t.Name == className).GetProperties(BindingFlags.Public |
                BindingFlags.NonPublic |
                BindingFlags.Instance |
                BindingFlags.DeclaredOnly);   
}
Run Code Online (Sandbox Code Playgroud)

当然,我可以通过根据索引或名称忽略属性来循环并构建另一个PropertyInfo []集合.但我想知道是否有任何方法可以实现没有循环通过属性.

谢谢

c# reflection

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

拆分和选择特定元素

我有一个逗号分隔的字符串,用于指定索引。然后我还有一个逗号分隔的字符串,其中包含所有值。

前任:

  string  strIndexes = "5,6,8,15";
  string  strData =  "ab*bc*dd*ff*aa*ss*ee*mm*jj*ii*waa*jo*us*ue*ed*ws*ra";
Run Code Online (Sandbox Code Playgroud)

有没有办法拆分字符串 strData 并仅选择索引为 5、6、8 或 15 的元素。或者我必须先拆分字符串然后遍历数组/列表,然后再构建一个数组/列表使用字符串 strIndexes 定义的索引处的值(即本例中的 5、6、7、15)

谢谢

c# linq arrays list

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