问题描述
首先,我不是开发人员,这是我第一次为这种复杂性编写代码(至少对我而言)。任何帮助/指导将不胜感激。
该程序的目的是在输入名称后从API URL中检索员工用户ID(或签名)。
现在我的程序没有显示任何错误,但是当我按开始键时,我的组合框(标记为“名称”)没有显示任何建议,并且在文本框2(标记为“用户ID”)中也未显示任何信息)。
我想补充一点,最初我有一个文本框而不是组合框,然后我就能够正确检索数据。当我切换到组合框时,发生了问题。预先谢谢你。
这是我的JSON字符串:
[{“ signature”:“ JANDOW”,“ firstName”:“ Jane”,“ fullName”:“ Dow,Jane”,“ lastName”:“ Dow”}]
我的表单代码是:
namespace TimeSheets_Try_11
{
public partial class Form1 : Form
{
WebAPI WA = new WebAPI();
public Form1()
{
InitializeComponent();
webbrowser1.Url = new Uri(StaticStrings.UrlIora);
}
private void label1_Click(object sender,EventArgs e)
{
}
private void button1_Click(object sender,EventArgs e)
{
string sgname; string projectstring;
projectstring = comboBox1.Text.ToString();
sgname = WA.Getsignature(projectstring);
textBox2.Text = sgname;
}
private void textBox2_TextChanged(object sender,EventArgs e)
{
}
private void webbrowser1_DocumentCompleted(object sender,WebbrowserDocumentCompletedEventArgs e)
{
}
private void Form1_Load(object sender,EventArgs e)
{
}
private void comboBox1_SelectedindexChanged(object sender,EventArgs e)
{
}
}
}
namespace TimeSheets_Try_11.Controllers
{
class WebAPI
{
public string Getsignature(string name)
{
var cookies = FullWebbrowserCookie.GetCookieInternal(new Uri(StaticStrings.UrlIora),false);
WebClient wc = new WebClient();
wc.Encoding = System.Text.Encoding.UTF8;
wc.Headers.Add("Cookie:" + cookies);
wc.Headers.Add("Content-Type","application/x-www-form-urlencoded");
wc.UseDefaultCredentials = true;
string uri = "";
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
uri = StaticStrings.UrlIora + name + "&%24format=json&%24top=30&%24filter=status%20eq%20%27Active%27&%24count=true";
var response = wc.DownloadString(uri);
var status = JsonConvert.DeserializeObject<List<Employeename>>(response);
string signame = status.Select(js => js.signature).FirstOrDefault();
return signame;
}
}
}
我定义变量的代码是:
namespace TimeSheet_Try11_Models
{
public class Employeename
{
public string signature { get; set; }
public string firstName { get; set; }
public string fullName { get; set; }
public string lastName { get; set; }
}
public class Root
{
public List<Employeename> Employeename { get; set; }
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)